当我从我的网站将某些内容分享到社交媒体或书签网站时,它不会显示缩略图。
谁能告诉我这样做的确切原因?
你可以看看我网站的源代码。
它实际上显示了一个缩略图(至少在 facebook 上),但它在您的网站上使用了默认的“无图像”图片。 http://youthdrum.com/wp-content/themes/mesocolumn/images/noimage.png
您可以用您选择的缩略图替换该图像,但它也将替换该图像在您的网站上使用的任何位置。但是由于您使用的是 wordpress,最简单的方法是使用这个插件,它在您的情况下非常有用。 http://wordpress.org/plugins/easy-facebook-share-thumbnails/
如果您不想使用不同的插件,您可以手动指定社交媒体网站中显示的图像。
例如,对于 Facebook,您需要指定要显示的图像。你将如何做到这一点取决于嵌入式 Facebook 插件的类型。
通常,大多数人都将指定的信息放入代码中。Facebook 正在使用一种名为Open Graph的技术,因此您需要在代码中放入特殊的元信息,例如:
<meta property="og:image" content="http://yoursite.com/image.jpg" />
所以现在 Facebook 知道 image.jpg 应该放在你的流中。
但是,如果您使用集成的 Wordpress 缩略图系统怎么办?如何在给定的单页上获取 Wordpress 缩略图 URL?
将此代码放入functions.php:
function get_fbimage() {
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), '', '' );
if ( has_post_thumbnail($post->ID) ) {
$fbimage = $src[0];
} else {
global $post, $posts;
$fbimage = '';
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',
$post->post_content, $matches);
$fbimage = $matches [1] [0];
}
if(empty($fbimage)) {
$fbimage = "http://www.gogirlfinance.com/wp-content/uploads/2011/03/logo.jpg";
}
return $fbimage; }
然后,您可以通过键入以下内容简单地获取缩略图 URL:
<?php echo get_fbimage(); ?>
那么你应该把这个放到header.php中:
<?php if ( is_single ()) : ?>
<meta property="og:image" content="<?php echo get_fbimage(); ?>" />
<?php endif; ?>