Skip to content

Commit 97be6b5

Browse files
committed
feature(core): OG Tags for post pages
Added og:image tag Added meta description These have been added for a better sharing experience for facebook users
1 parent 2dd463c commit 97be6b5

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/Controller/Index/Post.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
class 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
}

src/etc/module.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0"?>
22
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
3-
<module name="Skywire_WordpressApi" setup_version="1.7.2">
3+
<module name="Skywire_WordpressApi" setup_version="1.7.3">
44
</module>
55
</config>

0 commit comments

Comments
 (0)