如何将特色图片设置为Facebook帖子缩略图

时间:2017-01-30 作者:Padmini Maddur

我有一个页面的徽标图像、特色图像和页脚小部件中的一个图像。在facebook上发布页面时,页脚小部件图像是第一个,徽标图像是第二个,特色图像是第三个。如何限制这一个显示特色图像作为第一个选择后缩略图?

1 个回复
最合适的回答,由SO网友:Raunak Gupta 整理而成

要在facebook上共享或发帖时获得所需的图像,您必须添加og:image 在您的<head> 标签对于twitter,您必须使用>twitter card

//Adding the Open Graph in the Language Attributes
function add_opengraph_doctype($output)
{
    return $output . \' xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"\';
}

add_filter(\'language_attributes\', \'add_opengraph_doctype\');

//add Open Graph Meta Info
function insert_fb_in_head()
{
    global $post;
    if (!is_singular()) //if it is not a post or a page
        return;

    if ($excerpt = $post->post_excerpt)
    {
        $excerpt = strip_tags($post->post_excerpt);
    }
    else
    {
        $excerpt = get_bloginfo(\'description\');
    }

    echo \'<meta property="fb:app_id" content="YOUR APPID"/>\'; //<-- this is optional
    echo \'<meta property="og:title" content="\' . get_the_title() . \'"/>\';
    echo \'<meta property="og:description" content="\' . $excerpt . \'"/>\';
    echo \'<meta property="og:type" content="article"/>\';
    echo \'<meta property="og:url" content="\' . get_permalink() . \'"/>\';
    echo \'<meta property="og:site_name" content="\' . get_bloginfo() . \'"/>\';

    echo \'<meta name="twitter:title" content="\' . get_the_title() . \'"/>\';
    echo \'<meta name="twitter:card" content="summary" />\';
    echo \'<meta name="twitter:description" content="\' . $excerpt . \'" />\';
    echo \'<meta name="twitter:url" content="\' . get_permalink() . \'"/>\';

    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 . \'"/>\';
        echo \'<meta name="twitter: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 \'<meta name="twitter:image" content="\' . esc_attr($thumbnail_src[0]) . \'"/>\';
    }
}

add_action(\'wp_head\', \'insert_fb_in_head\', 5);
代码进入功能。活动子主题(或主题)的php文件。或者在任何插件php文件中

请注意:此代码适用于Facebook和Twitter

希望这有帮助!

相关推荐