无需插件即可集成开放图形协议?

时间:2012-01-30 作者:Alex

当有人喜欢或在facebook上共享hihm以缩略图的形式显示帖子或页面的特征图像时,将Open Graph协议放入wp主题的正确方法是什么?

这是需要写入头中的元数据。php或函数。php?

2 个回复
最合适的回答,由SO网友:Matthew Boynes 整理而成

这些信息不必是静态的。下面是一个示例:

<meta property="og:title" content="<?php if ( is_single() ) { wp_title(); } else { bloginfo(\'name\'); } ?>" />
<meta property="og:type" content="blog" />
<meta property="og:url" content="<?php echo get_permalink() ?>" />
<meta property="og:site_name" content="<?php bloginfo(\'name\') ?>" />
图像有点骗人。我喜欢使用特色图片,如果它是可用的,个人。为此,请将其与opengraph数据一起添加:

<?php foreach (get_representative_images() as $image_url): ?>
<meta property="og:image" content="<?php echo $image_url ?>" />
<?php endforeach; ?>
。。。并将其添加到主题的功能中。php。。。

function get_representative_images() {
    global $post;
    $images = array(\'http://www.your.com/default/image.jpg\');
    if ( has_post_thumbnail($post->ID) ) { // check if the post has a Post Thumbnail assigned to it.
        $image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), \'thumbnail\');
        array_unshift($images, $image_url[0]);
    }
    return $images;
}
干杯~

SO网友:Axeva

您不一定需要第三方插件来获得Open Graph的好处,但如果不编写一些代码,您将受到一些限制。

例如,您可以向header.php:

<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
<meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
然而,问题是它们将是静态的。当您在站点上从一页跳到另一页(或从一篇文章跳到另一篇文章)时,这些元标记不会改变。这就是插件的作用所在。它动态创建这些元标记,以确保它们与每个页面/帖子的内容相匹配。

最后,我认为你必须要么找到一个你喜欢的,要么创造自己的最佳结果。

有关Open Graph元标记的更多详细信息,请访问:http://ogp.me

结束