我正在尝试创建一个新的og:当用户将其作者个人资料页面共享到Facebook时,为作者头像创建一个新的og:图像。
我是WordPress的新手,在搜索了6个多月后,我总是失败。
我的网站是多作者的,我需要为作者添加og:图像元标记。php“作者简介”,我被卡住了,我真的厌倦了搜索。
当我们的用户试图共享他的个人资料时。。头像没有出现!因为Facebook找不到作者avatar og:image!
我使用的插件:Yoast SEO, Simple Local Avatars, AddToAny Share Buttons.
我尝试使用wpseo\\u opengraph\\u图像过滤器,但不起作用。
这是我正在使用的代码:
function custom_author_og_image() {
if ( is_author ( ) ) {
$author = get_queried_object();
$image_attributes = get_avatar_url( $author->user_email, \'full\' );
if ( $image_attributes !== false ) {
return $image_attributes[0];
}
}
}
add_filter(\'wpseo_opengraph_image\', \'custom_author_og_image\', 10, 0);
SO网友:Adham Mohamed
最后,我找到了答案,我想与您分享,但我还有一个小问题。现在我可以得到作者头像,如果他至少有1篇帖子!!Facebook上有0条帖子的作者无法获取他的头像!!奇怪的事,我不知道怎么解决。
不管怎样,这就是我找到的代码。
add_action(\'wpseo_head\', \'add_fb_og\', 5);
function add_fb_og() {
if ( is_author ( ) ) {
$my_custom_avatar = get_avatar(get_the_author_meta( \'ID\' ), 200 );
$document = new DOMDocument();
@$document->loadHTML($my_custom_avatar);
$nodes = $document->getElementsByTagName(\'img\');
?>
<meta property="og:image" content="<?php echo $nodes->item(0)->getAttribute(\'src\'); ?>" />
<?php
}
}