随机显示缩略图片的简单方法

我自己使用的主题 zsnos-private 在 alpha6~alpha9 使用的缩略图中的一种方法就是给没有图片的文章随机显示若干美女图片/广告图片,我所使用的随机显示图片方法是最简单的,最原始的方法,笨方法。

这方法就是用随机函数 mt_rand() 产生一个随机数,然后按照这个随机数显示对应名称的图片。方法虽然原始,但我觉得好用,下面就说说实现方法,也许有朋友和我一样需要这样折腾玩

下面的用随机显示 5 张图片做例子

1. 准备好5张不同的缩略图片放在主题的images目录下,命名为:0.png、1.png、2.png、3.png、4.png

2. 修改主题的 index.php (有些主题是 home.php),找到 <?php the_content() ?>,在其上面加入如下代码:

<?php
$random = mt_rand(0, 4);//随机获取0~4中一个数字付给参数 $random
echo '<a href="'.get_permalink().'" rel="bookmark" title="' . get_the_title(); . '"><img src="' . get_bloginfo('template_directory') . '/images/'.$random.'.png" alt="" /></a>';
?>

3. 如果你用了WordPress 2.9新加的文章缩略图功能,可以结合使用:有缩略图显示缩略图,没有的话显示随机图片

<?php
if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) { ?>
	<a href="<?php the_permalink(); ?>" rel="nofollow">
		<?php echo the_post_thumbnail(array(100,100), array('class' => 'alignleft', 'alt' => 'alttext')); ?>
	</a>
<?php } else {
$random = mt_rand(0, 4);
echo '<a href="'.get_permalink().'" rel="bookmark" title="' . get_the_title(); . '"><img src="' . get_bloginfo('template_directory') . '/images/'.$random.'.png" alt="" /></a>';
} ?>

有兴趣的折腾玩玩,其实很多地方都可以使用,如随机显示背景图……

zww
or
oooo

“随机显示缩略图片的简单方法”有141条评论

  1. 感觉挺麻烦的 有没有更简单一点的方法呀

    1. zwwooooo says:

      @ghd straighteners 不知道,找找插件吧

  2. 我一定要好好学习一下

  3. lenomon says:

    好好学习,天天向上

  4. [...] 首页 也问题 可是一直不知道出在哪里 ,从看了 ZWWoOoOo 的博文随机显示所略图片的简单方法 后 [...]

  5. [...] 随机显示缩略图片的简单方法 2011-07-18 · WP Trick 抢沙发 · Ben [...]

  6. loongsky says:

    我很确定的说,这篇文章很好,我用了,效果不错

    1. zwwooooo says:

      @loongsky
      慢慢折腾

  7. 洋洋 says:

    直接加入好像不可以。。然后后台就白板了。。首页也白板了。。我加在前面的。。

  8. 洋洋 says:

    莫不是我那个mt_rand() 函数我没有开?

    1. zwwooooo says:

      @洋洋
      可能是吧

  9. 洋洋 says:

    的确是代码与主机的问题。当代码中的网址为空时我这边出现白板、、以前用一个主题也有这样的问题。但是换apache后就没有问题。。在lighttpd上就有问题。。比如修改文章后出现白板。但文章是修改好了的。。但是没有跳转网址所以就是白板。。应该是echo '<a href="'.get_permalink().'" rel="bookmark" title="' . get_the_title(); . '"这里的问题。。有没有代换的方法呢。。或者vps上应该安装什么组件?我用的是lighttpd。不是apache

    1. zwwooooo says:

      @洋洋
      不知道啊,我习惯用nginx

回复给 yetone ¬
取消回复

昵称 *

网址

B em del U Link Code Quote