在 wordpress 中插入 og:image
Insert og:image in wordpress
我有以下 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
标签。
我在使用它的调试工具时收到警告:
The 'og:image' property should be explicitly provided, even if a value can be inferred from other tags.
我可以在源代码视图中看到 og:image
标记,所以我认为头部在到达模板文件中的 do_action
之前已经被处理。
那我如何根据自定义字段插入 og:image
?
如果需要的话,我也在使用 WordPress SEO by Yoast 插件。
yoast 的 Wordpress SEO 也使用 facebook opengraphs。所以它可能会干扰尝试禁用它。但如果您可以查看正确放置的标签并在正确的位置。那么问题可能出在另一端。
好的,我知道怎么做了。
不要在模板部分调用 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
来获取 post 数据,所以我不必传递任何参数。
我有以下 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
标签。
我在使用它的调试工具时收到警告:
The 'og:image' property should be explicitly provided, even if a value can be inferred from other tags.
我可以在源代码视图中看到 og:image
标记,所以我认为头部在到达模板文件中的 do_action
之前已经被处理。
那我如何根据自定义字段插入 og:image
?
如果需要的话,我也在使用 WordPress SEO by Yoast 插件。
yoast 的 Wordpress SEO 也使用 facebook opengraphs。所以它可能会干扰尝试禁用它。但如果您可以查看正确放置的标签并在正确的位置。那么问题可能出在另一端。
好的,我知道怎么做了。
不要在模板部分调用
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
来获取 post 数据,所以我不必传递任何参数。