Facebook社交发布者和自定义帖子类型字段

时间:2013-01-30 作者:kappa

我对Facebook插件如何根据我的时间线显示基于WordPress的帖子有问题。基本上,所发生的是未显示post图像。

现在,我想显示的帖子图片是一个自定义帖子类型的自定义字段,这可能是导致Facebook插件出现问题的原因。

在单篇文章页面上,我手动添加了og: 标签,它们工作正常(如果我在Facebook上共享链接,我会看到图像,Facebook对象调试器也会显示它,表示没有问题)。

我必须手动添加请求的og: post\\u发布挂钩中的标记?

示例页面如下:http://www.zannoni-store.it/prodotti/canestro-sonoro

为了让图像显示在共享上,我添加了以下内容:

..
$img = get_post(get_post_meta($post->ID, \'immagine\', true)); 
echo \'<meta property="og:image" content="\'.$img->guid.\'" />\';
..

1 个回复
SO网友:kappa

阅读Facebook官方插件的代码我在

open-graph-protocol.php
正在应用自定义筛选器“fb\\u meta\\u tags”:

..
$meta_tags = apply_filters( \'fb_meta_tags\', $meta_tags, $post );
..
因此,在我的插件中,我为“fb\\u meta\\u标签”添加了一个过滤器,该过滤器通过以下方式添加/替换Facebook插件中的图像集:

function clancat_product_fbmeta($meta_tags, $post){
    ..
    $img = get_post(get_post_meta($post->ID, \'immagine\', true)); 
    $meta_tags[\'http://ogp.me/ns#image\'] = $img->guid;
    ..
    return $meta_tags;
}

..

add_filter( \'fb_meta_tags\', \'clancat_product_fbmeta\',10,2);
请注意,“2”(传递给add\\u filter的第4个参数)是必需的,因为Facebook过滤器提供了$meta\\u标记数组和$post对象。

我认为这个解决方案可以很容易地扩展到任何职位类型/自定义字段等情况;这是实现这一目标的正确途径。

Unfortunately this not solve the publish problem.

结束

相关推荐

未受保护的页面在发布到Facebook时显示为受保护(S2Member)

我最近删除了以下页面上的限制:http://www.boulderwritersworkshop.org/2012/10/21/david-jessup/我现在可以在不登录的情况下查看它。然而,如果我将此URL发布到我的Facebook墙,它会显示“加入”页面,好像Facebook认为我需要登录查看该内容。我尝试清除快速缓存并从远程计算机加载页面——所有人都可以看到。显然除了脸书。想法?