问题描述
我有一个博客有一些帖子,每个帖子都有一个嵌入式的 Facebook like button 。按下该按钮可打开一个对话框,以便我的访问者可以在 Facebook 上分享一则评论。
然而,当分享时,Facebook 选择的图像是通用邮件图标,而不是邮件缩略图。
如何控制共享时使用的图像?
最佳解决方案
用于共享的映像取自您网站头文件中的一大堆代码,如下所示:
<link rel="image_src" href="path/to/theme/screenshot.png" />
通常它链接到主题中您网站的屏幕截图。如果你从文件的头文件中删除了代码,并在 single.php 中将它放在循环中,并将你的 post thumbnail 图像称为 href 元素,我相信它会工作。所以它看起来像:
<link rel="image_src" href="<?php the_post_thumbnail(); ?>" />
这意味着如果您在列出多个帖子的页面上有按钮,则可能不会有图像。如果您包含一些仅在 single.php 上删除的条件代码,那么在任何具有多个帖子和类似按钮的页面上,您将拥有正常的图像,并且在使用 single.php 模板时使用该缩略图。所以标题代码是:
<?php if ( is_single() ) { /* do nothing on single pages */ } else { ?>
<link rel="image_src" href="path/to/theme/screenshot.png" />
<?php } ?>
那么你仍然使用代码将 post thumbnail 包含在 single.php 中。
次佳解决方案
Facebook 现在使用开放式协议。您可以使用以下方法添加图像:
<meta property="og:image" content="http://YOUR_IMAGE_URL" />
将此行添加到页眉中。
或者,您可以使用我的插件自动执行此操作。
它只是做这个工作,不需要设置。
http://shailan.com/wordpress/plugins/facebook-meta-tags-plugin/
第三种解决方案
您需要使用 Facebook Open Graph Protocol 。我不知道为什么接受的答案不是许多 OG 中的一个:相关的答案 (我已投票),但它是错误的。
http://developers.facebook.com/docs/opengraph/
您可以自定义许多内容,包括标题,图像,描述,类别,最后更新等… 如果您使用 Open Graph 。如果您使用这些其他 half-solutions,您将全部丢失。
如果我没有遵循 OG 协议,我所做的所有的 FB 工作,我会被解雇。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。