在Facebook中共享链接时,不显示特色图片

时间:2013-02-28 04:14:54

标签: facebook wordpress thumbnails facebook-opengraph sharing

你好亲爱的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调试器来刷新它。

如果那里有人可以帮助我,我将永远感激。

非常感谢。

本杰明。

3 个答案:

答案 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"/>