/ 博客 / 1322浏览

主页文章随机显示缩略图

从网友从良未遂的博客中看到了一种方法《为没有设置缩略图的文章随机显示缩略图》,于是抽取其中的一段函数:

if(empty($post_thumbnail_src)){ //如果日志中没有图片,则显示随机图片
    $random = mt_rand(1, 10);//根据实际准备的图片数量修改
    echo get_bloginfo('template_url');
    echo '/images/pic/'.$random.'.jpg';//根据实际情况修改图片路径
    //如果日志中没有图片,则显示默认图片。我用的是随机显示,所以把下面一行的方法注释掉了
    //echo '/images/default_thumb.jpg';
}

用在自己博客里,把大发的默认图改了一下:

//原函数
//$defaltthubmnail = get_template_directory_uri().'/build/img/default.jpg';
//新函数
$random = mt_rand(1, 6);
$defaltthubmnail = get_template_directory_uri().'/build/img/'.$random.'.jpg';

效果:

主页随机图像
主页随机图像

只有一个问题,偶尔mt_random函数会产生重复的数字,貌似得用数组+Array_flip()函数,或者用复杂的循环语句。不知有没有简洁的函数。

11

  1. fooleap

    这样的话,没图片每次刷新都不是同一张缩略图。有点花 😎

    Google Chrome 59 · Mac OS X 10.13
    1. S

      @fooleap确实也是。有啥好的思路不?

      Wordpress App 8 · iPhone iOS 10.3.3
      1. fooleap

        @S主题已经换回来了啊,我是感觉这个比那个有图的好。
        缩略图我是这么处理的:
        1、显示指定缩略图
        2、无指定缩略图,则以文章里第一张图片为缩略图。
        3、以上均没,显示默认图片(只有一张)

        Google Chrome 59 · Mac OS X 10.13
        1. S

          @fooleap大家都说这个好那就这个吧。 😆
          这条缩略图的思路应该是最经典的那思路。目前你说花的主题暂时不实施了。ps 第2条的一个潜在问题是,如第一张图太小,比如是个小的截屏或者logo之类,则缩略图很不好看,当然,可以通过指定缩略图的方式显示,只是就没那么自动化了。也许可以再写一个if函数,判断第一张图是否小于一个边长,如小于,则选择下一张图中大于该边长的作为缩略图,全部不满足显示默认。

          Wordpress App 8 · iPhone iOS 10.3.3
          1. fooleap

            @S➡ 这只是针对我自己博客的,我缩略图很小,可控性比较强,直接使用七牛云的 API 缩放、裁切指定大小,你说的 Jekyll 表示办不到啊。

            Google Chrome 60 · Windows 7
            1. S

              @fooleap你用的JekyII确实很小,网站也精致。WordPress表示叹服。

              Safari 10 · Mac OS X 10.12
  2. 路人

    还是喜欢上一个简洁的主题。
    像这种首页是图片的,色调什么不和谐就整个页面说好听是花,说难看就是难看……

    Google Chrome 60 · Windows 8.1
    1. S

      @路人嗯,有理……

      Wordpress App 8 · iPhone iOS 10.3.3
    2. S

      @路人你看,他们说大发的主题jaguar挺素的,但你一说花,我就又改回friday去了…… 😛

      Safari 10 · iPhone iOS 10.3.3
      1. 路人

        @S首页有图片为主的主题我用过一次后觉得就是坑!
        能保持色调啊、风格都能彼此和谐就无所谓,然而……
        之前用图片主题时,为了不让首页因为图片各自为阵的色调和风格造成视觉脏乱差的感觉,缩略图我找了风格统一的几张,轮流使用,但时间一久又觉得没意思
        所以之后就再也不看图片型主题了。

        Google Chrome 60 · Mac OS X 10.12
        1. S

          @路人你这一说确实如此,如何把它和谐统一要费一番功夫。目前看来暂时还是用回原主题。

          Chrome 60 · iPhone iOS 10.3.3

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注