你好亲爱的Stack Overflow朋友们!我一直试图解决这个问题几天没有成功。我已经阅读了Stack Overflow中几乎所有可用的帖子,但我找不到如何解决这个问题。
当我在Facebook上分享链接时,缩略图对应于我在
中定义的图像meta property =“og:image”
它有效,一切都很好......但是,
我希望每个帖子在共享时都可以将自己的精选图片显示为缩略图。我怎么能这样做?
我在function.php中尝试过这段代码
function insert_image_src_rel_in_head() {
global $post;
if ( !is_singular()) //if it is not a post or a page
return;
if(!has_post_thumbnail( $post->ID )) { //the post does not have featured image, use a default image
$default_image="http://example.com/image.jpg"; //replace this with a default image on your server or an image in your media library
echo '<meta property="og:image" content="' . $default_image . '"/>';
}
else{
$thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
}
echo "
";
} add_action( 'wp_head', 'insert_image_src_rel_in_head', 5 );
没有任何反应......
我也在header.php
中尝试了这段代码 <?php
global $wp_query;
$thePostID = $wp_query->post->ID;
if( has_post_thumbnail( $thePostID )){
$thumb_id = get_post_thumbnail_id( $thePostID );
$image = wp_get_attachment_image_src( $thumb_id );
echo '<meta property="og:image" content="'.$image[0].'" />';
} ?>
也没有成功。
特色图像在functions.php中激活,如下所示。
add_theme_support('post-thumbnails');
正如我所说,所有og标签都已设定。
发生了什么事?它不是缓存的东西,因为我正在使用facebook调试器来刷新它。
如果那里有人可以帮助我,我将永远感激。
非常感谢。
本杰明。
答案 0 :(得分:0)
我认为你应该尝试
echo '<meta property=\"og:image\" content=\"'.$image[0].'\" />';
另外,如果在呈现网站时<meta property
显示正确
答案 1 :(得分:0)
好的我修好了......也许这会帮助其他用户遇到同样的问题...尽管在源代码中渲染了正确的图像,但是在每个链接中使用相同缩略图的原因是因为
<meta property="og:url" content="
行。
我在那里输入了网站的网址,当然,规范网址统治了所有网址,然后调试人员去那里获取精选图片。我用
替换了这个值<?php echo get_permalink(); ?>
就是这样做的。感谢您的帮助,我希望这个问题可以帮助其他人解决类似问题。
答案 2 :(得分:0)
您可以使用这样的元属性。
<meta property="fb:app_id" content="facebook app id" />
<meta property="og:url" content="post url">
<meta property="og:title" content="post title">
<meta property="og:description" content="post description">
<meta property="og:image" content="image url"/>