WordPress文章没有图片时显示随机图片或默认图片

时间: 2013-12-10 分类: WordPress技术 作者: SAI

TAGS:

当文章没有图片时,Hcms默认显示的是随机的图片,如何能显示一张默认的图片呢?其实稍微接触多点WordPress主题的朋友应该都知道修改方法,但是新手朋友就不知从何下手了,时间关系,就直接贴出两种代码吧,大家各取所好吧。

打开WordPress主题的functions.php文件,大概在26行,可以看到下面的代码(如果找不到代码就直接复制代码放到functions.php文件最后一行)

显示随机图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//支持外链缩略图
if ( function_exists('add_theme_support') )
 add_theme_support('post-thumbnails');
function catch_first_image() {global $post, $posts;$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
	$first_img = $matches [1] [0];
	if(empty($first_img)){
		$random = mt_rand(1, 10);
		echo get_bloginfo ( 'stylesheet_directory' );
		echo '/images/random/'.$random.'.jpg';
		}
  return $first_img;
}
;

上面的代码,只需要准备10张图片,放在主题的/images/random/目录即可(具体位置参看WordPress主题)

如果需要显示一张默认的图片,可以使用下面的代码替换

显示默认图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//支持外链缩略图
if ( function_exists('add_theme_support') )
 add_theme_support('post-thumbnails');
function catch_first_image() {global $post, $posts;$first_img = '';
	ob_start();
	ob_end_clean();
	$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
	$first_img = $matches [1] [0];
	if(empty($first_img)){
		$first_img = bloginfo('template_url'). '/images/default-thumb.jpg';
		}
  return $first_img;
}
;

注意,将你的默认图片放在WordPress主题的images文件夹里,并将名字命名为default-thumb.jpg。

以上的函数,在调用的时候,可以使用下面的语句(这个是给其他朋友准备的,WordPress主题已经弄好了)

1
<?php echo catch_first_image() ?>

好了,问题解决。

Javin

本文作者: SAI

推崇以用户为中心的设计理念,专注于用户体验设计,游走在视觉设计与前端开发之间。我要投稿

除非特殊注明,本文版权归原作者所有,欢迎转载!转载请注明版权以及本文地址,谢谢。
转载保留版权:塞纳» 建站技巧 » WordPress技术 » WordPress文章没有图片时显示随机图片或默认图片
本文地址:http://www.saiody.com/?p=872

返回顶部