2020class Post
2121 extends AbstractAction
2222{
23+ /**
24+ * @var \Skywire\WordpressApi\Model\Api\Media
25+ */
26+ protected $ mediaApi ;
27+
2328 /**
2429 * @var RequestHelper
2530 */
@@ -40,12 +45,14 @@ public function __construct(
4045 PageFactory $ resultPageFactory ,
4146 RequestHelper $ requestHelper ,
4247 Registry $ registry ,
43- \Skywire \WordpressApi \Model \Api \Post $ postApi
48+ \Skywire \WordpressApi \Model \Api \Post $ postApi ,
49+ \Skywire \WordpressApi \Model \Api \Media $ mediaApi
4450 ) {
4551 parent ::__construct ($ context , $ resultPageFactory );
4652 $ this ->requestHelper = $ requestHelper ;
4753 $ this ->postApi = $ postApi ;
4854 $ this ->registry = $ registry ;
55+ $ this ->mediaApi = $ mediaApi ;
4956 }
5057
5158 public function execute ()
@@ -58,8 +65,19 @@ public function execute()
5865
5966 $ resultPage = $ this ->_resultPageFactory ->create ();
6067 $ resultPage ->getConfig ()->getTitle ()->set ($ post ->getTitle ()->getRendered ());
68+ $ resultPage ->getConfig ()->setDescription (strip_tags (substr ($ post ->getContent ()->getRendered (), 0 , 400 )));
69+ $ resultPage ->getConfig ()->setMetadata ('og:image ' , $ this ->getFeaturedImage ($ post ));
6170
6271 return $ resultPage ;
6372 }
6473 }
74+
75+ protected function getFeaturedImage ($ post )
76+ {
77+ if ($ post ->getFeaturedMedia ()) {
78+ $ media = $ this ->mediaApi ->getEntity ($ post ->getFeaturedMedia ());
79+ return $ media ->getSourceUrl ();
80+ }
81+ return '' ;
82+ }
6583}
0 commit comments