Facebook OG Image If,or,or else statement

时间:2014-04-21 16:49:29

标签: php facebook-graph-api

我有3个用户可以参与的图像来源。使用Instagram URL,图片URL或图片上传。用户只能选择使用3中的任何一个进行贡献。

我正在尝试帮助Facebook OpenGraph从Instagram来源/图片网址/图片上传中提取图片。嵌入式instagram图像,我已经将它作为自定义字段,但不是图像网址。如果用户未提供这3个,则该网站的图标将会显示。

我知道如何包含图片上传,但我不确定应该如何包含Instagram图片(自定义版)和图片网址,有人可以帮我吗?

我有这段代码:

add_action('wp_head', 'add_fb_open_graph_tags');
function add_fb_open_graph_tags() {
if (is_single()) {
    global $post;
    if(get_the_post_thumbnail($post->ID, 'thumbnail')) {
        $thumbnail_id = get_post_thumbnail_id($post->ID);
        $thumbnail_object = get_post($thumbnail_id);
        $image = $thumbnail_object->guid;
    } else {    
        $image = 'http://my-site.com/wp-content/themes/something/images/icon.jpg'; // Change this to the URL of the logo you want beside your links shown on Facebook
    }

 ?>
 <meta property="og:title" content="<?php the_title(); ?>" />
 <meta property="og:type" content="article" />
 <meta property="og:image" content="<?php echo $image; ?>" />
 <meta property="og:url" content="<?php the_permalink(); ?>" />
 <meta property="og:description" content="<?php echo $description ?>" />
 <meta property="og:site_name" content="<?php echo get_bloginfo('name'); ?>" />

<?php   }
}

1 个答案:

答案 0 :(得分:1)

您可以在标记中添加多个og:image标记,以允许Facebook获取您要使用的任何其他图片:

<meta property="og:image" content="http://example.com/rock.jpg" />
<meta property="og:image" content="http://example.com/rock2.jpg" />

尝试以这种方式添加instagram图像和上传的图像。