WordPress在RSS Feed 中输出自定义特色图像(缩略图)

3,284
WordPress在RSS Feed 中输出自定义特色图像(缩略图)
  • 4.50 / 5 5
4.50分(4票)

估计不少网友是在了解到Google Reader 关闭的消息后才知道RSS这种东西的,本站DeveWork. com 曾经有过《WordPress在RSS Feed 中输出版权信息》的相关教程,今天则给出个WordPress在RSS Feed 中输出自定义特色图像的方法,该方法支持通过自定义字符获取的特色图像。

一般来说,如果主题支持特色图像(缩略图),在主题的 functions.php 文件下加入以下代码就可以实现RSS 中输出自定义特色图像(缩略图)的功能:

1
2
3
4
5
6
7
8
9
10
11
//Feed 输出文章特色图像(缩略图)devework.com
function dw_rss_thumbnail($content) {
	global $post; //查询全局文章
	if(has_post_thumbnail($post->ID)) { //如果有特色图像
		$output = get_the_post_thumbnail($post->ID) ; //获取缩略图
		$content = $output . $content ;
	}
	return $content;
}
add_filter('the_excerpt_rss', 'dw_rss_thumbnail');
add_filter('the_content_feed', 'dw_rss_thumbnail');

不过,由于我的主题比较特殊。我的特殊图像是通过外链来的(你应该知道,WordPress 本身的特色图像功能不支持外链),就是通过自定义字符来实现特色图像(缩略图)功能。如果不明白我前面说的是什么,可以参考《WordPress自定义栏目运用实例 VI:设置外链缩略图/特色图像》。

网络上是没有相关方法的,不过经过Jeff 的一番探索,写出了以下代码完美实现。效果么,只有订阅了本站的网友才看得到了(必须要刷新RSS)。

原创代码,转载注明来源:

1
2
3
4
5
6
7
8
9
10
11
12
13
//Feed 输出自定义文章特色图像(缩略图)升级版 by devework.com
function dw_post_thumbnail($content) {
    global $post; //查询全局文章
    if ( get_post_meta($post->ID, 'thumb', true) ) 
    {
         $dwimage = get_post_meta($post->ID, 'thumb', true); 
         $output = '<img width="580" height="150" src="'.$dwimage.'" alt="'.get_the_title().'" class="aligncenter"/> ';
         $content = $output . $content ;
    }
     return $content;
}
add_filter('the_excerpt_rss', 'dw_post_thumbnail');
add_filter('the_content_feed', 'dw_post_thumbnail');

因为每个人的主题都不同,使用上面的代码需要修改部分内容;具体不多说,不懂的可以留言询问。

发现RSS输出内容的话,理论上可以完全实现在原网页上的功能,不过具体的话可能要再琢磨琢磨。

暂时木有评论啊,等您坐沙发呢!

打破沉默,我来发表评论鸟~