我为facebook的og:image
标记提供了以下挂钩。
在我的模板文件中:
<?php do_action('wp_head', $mypost) ?>
在我的函数文件中:
add_action('wp_head', 'add_fb_og');
function add_fb_og($mypost) {
if (isset($mypost["wpcf-bgleft"][0])) {
echo '<meta property="og:image" content="'.$mypost["wpcf-bgleft"][0].'" />';
}
}
我尝试做的是将自定义字段的背景图片传递给wp_head
,以便输出<meta property="og:image" content="http://example.com/mybackgroundimage.jpg" />
以供Facebook消费。
虽然输出在那里,但Facebook却没有拿起og:image
标签
我在使用它的调试工具时收到警告:
&#39; og:image&#39;应明确提供属性,即使可以从其他标记推断出值。
我可以在源视图中看到og:image
标记,因此我认为在文件到达模板文件中的do_action
之前已对其进行了处理。
如何根据自定义字段插入og:image
?
如果重要的话,我也会使用WordPress SEO by Yoast插件。
答案 0 :(得分:1)
好的,我发现了怎么做。
请勿在模板部分中致电do_action('wp_head')
。
在functions.php中,执行:
add_action('wpseo_head', 'add_fb_og');
function add_fb_og($mypost) {
global $post;
$mypost = get_post_custom($offid);
if (isset($mypost["wpcf-bgleft"][0])) {
echo '<meta property="og:image" content="'.$mypost["wpcf-bgleft"][0].'" />';
}
}
注意我使用Yoast SEO的钩子并拨打global $post
来获取帖子数据,所以我不必传递任何参数。
答案 1 :(得分:0)