1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-19 20:21:51 +02:00

og:image setting if there is no already set one

I think the logic for setting og:image in social plugin is to be used site wide when no other is defined, but currently it's set too early in header so for example if we looking at news item which have some images, the social plugin og:image is grabed first by fb sharer since it came first in page output. My modification check if there is og:image defined and if there is already, skips adding the social plugin one.
This commit is contained in:
Serios 2017-12-09 15:47:23 +02:00 committed by GitHub
parent 8f8d22215b
commit 7bee8bf859
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -26,10 +26,45 @@ class social_event
function config()
{
$event = array();
$event[] = array(
'name' => "system_meta_pre",
'function' => "ogg_image_add",
);
return $event;
}
/**
* Callback function to add og:image if there is no any
*/
function ogg_image_add()
{
$ogImage = e107::pref('social','og_image', false);
if(e_ADMIN_AREA !==true) {
$ogimgexist = FALSE;
// check if we have og:image defined
$response = e107::getSingleton('eResponse');
$data = $response->getMeta();
foreach($data as $m) {
if($m['name'] == 'og:image') {
$ogimgexist = TRUE;
}
}
if(!empty($ogImage) && !$ogimgexist) {
e107::meta('og:image',e107::getParser()->thumbUrl($ogImage,'w=500',false,true));
unset($ogImage);
}
}
}
} //end class
?>
?>