HotNews主题不同分类显示不同的随机缩略图

2012年06月11日20:33:39 100 7,262

HotNews主题集成的随机缩略图本来是为懒人准备的,可能有童鞋感觉,不同的分类内容都显示相同的随机缩略图,有些不搭调,如果博客日志较多,文章中又无图片,重新编辑添加图片工作量又太大,来个折中的办法,改动一下随机缩略图调用函数,让不同的分类显示不同的随机缩略图。

首先,在HotNews主题images目录新建名称为:random1、random2、random3.........文件夹,并在其中放置不同的随机缩略图片,图片名称必须是连续的

其次,打开主题functions.php模版,找到:

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

替换为:

  1. //支持外链缩略图
  2. if ( function_exists('add_theme_support') )
  3.  add_theme_support('post-thumbnails');
  4.  /*Catch first image (post-thumbnail fallback) */
  5.  function catch_first_image() {
  6.   global $post$posts;
  7.   $first_img = '';
  8.   ob_start();
  9.   ob_end_clean();
  10.   $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  11.   $first_img = $matches [1] [0];
  12. if(empty($first_img)){ //Defines a default image
  13.     $random = mt_rand(1, 20);
  14.     echo get_bloginfo ( 'stylesheet_directory' );
  15. if ( is_category( '472' ) ) {
  16.     echo '/images/random1/'.$random.'.jpg';
  17.  } elseif ( is_category( '473' ) ) {
  18.     echo '/images/random2/'.$random.'.jpg';
  19.  } elseif ( is_category( '474' ) ) {
  20.     echo '/images/random3/'.$random.'.jpg';
  21.  }
  22.  }
  23.   return $first_img;
  24.  }

其中:

数字20是随机缩略图数量,根据实际自行修改。

修改上面代码类似“ is_category( '472' )”中数字为相应的分类ID号

random3是图片文件夹的名称

如果分类较多,可以多复制几个:

  1. elseif ( is_category( '474' ) ) {
  2.     echo '/images/random3/'.$random.'.jpg';
  3.  }

同样要修改其中的分类ID及图片文件夹名称。

注:此方法只支持分类页面,首页无效

weinxin
我的微信
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。
Begin主题购买
Begin主题购买

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:100   其中:访客  88   博主  10   引用   2

    • 嬗变 0

      鸟哥,我太喜欢你网站的风格了,所以把你网站给偷了过来,过一段时间可能要上线了,希望您不要介意。

      • jauntry 1

        鸟哥,请教个问题,为什么我用TXT修改functions.php文件后, 在后台会出现错误,切换而且我现在发现博客内容页的侧边也不显示了,只有最新文章,本月排行,分类目标那一个模块了。

        发布公告也出现错误了 public_html/wp-includes/pluggable.php on line 881

        求救啊。

          • worldfan 3

            @jauntry 我也是菜鸟,不过我怀疑是用TXT修改造成的,不知是不是,因为鸟哥每篇日志都提醒编辑代码一定要用专业软件比如:EditPlus 等等。有下载的主题源文件里找到
            functions.php文件复制修改的部分再改回来,不知行不行。呵呵

          • 贾维清博客 0

            鸟哥。。相册功能设置不了~

              • worldfan 3

                @贾维清博客 要仔细看使用说明,上面鸟哥说的很详细,我一开始也是不行,仔细看了使用说明后就搞定了

              • 诸葛诺博客 2

                不多说什么 这就是实力……

                • beyiol 1

                  我也用了鸟哥的东西,很不错啊

                  • 张成学 0

                    统一的风格展示不同的内容。

                    • hnyzchenl 2

                      鸟哥,我有个建议,不知道你会不会采纳了。目前这些随机缩略图是没有添加img 标签的alt描述,这样可能会影响搜索引擎的收录,不利于网站整体seo优化,鸟哥能考虑下优化下这个地方吗?

                        • 骷髅猫 5

                          @hnyzchenl 还真是,所以我现在都每篇自己配图片。这样就不会有这个问题了。尽量不用系统带的随机图。

                          • 知更鸟 Admin

                            @hnyzchenl 随机图有alt标签

                          • 276080758 4

                            使用你的代码修改后,在分类中看,图是可以按我的要求显示的.但是为什么首页不显示图片?

                            • 无墨 2

                              鸟哥,小弟主题启用cms布局,根据这个教程已实现不同目录显示不同缩略图,但是碰到一点问题折腾了几天还是没有搞定,因此特来请教鸟哥。

                              若文章中有图片或者手动添加自定义栏目ta-thumbnail则缩略图在任何位置都能正常显示。

                              若文章中没有图片也没有手动添加自定义栏目ta-thumbnail,那么随机缩略图在某些板块不会显示,例如:首页的最新文章、文章底部的随机缩略图、tags页面、搜索页面……似乎除了分类页面外,其他页面缩略图显示都不正常。

                              但是如果换回修改前默认的随机缩略图便一切正常,请问鸟哥,这是否是我修改有误?小弟的站http://rubberkeycn.com

                                • 知更鸟 Admin

                                  @无墨 此方法只支持分类页面,首页无效

                                    • 无墨 2

                                      @知更鸟 原来是这样,感谢鸟哥!
                                      是否有办法可以在所有页面都实现呢?
                                      请原谅我的好奇和爱折腾给您带来麻烦…

                                  • 开心就好 3

                                    这篇文章不过,虽然现在不用,先收着。我转载了,已注明出处,请查看http://cn123.sinaapp.com/archives/1463
                                    另外为了学习方便,交换个连接号码,你的已做好,亲看http://cn123.sinaapp.com/%E8%B6%85%E7%BA%A7%E5%8D%9A%E5%AE%A2%E5%A2%99
                                    红枫苑
                                    http://cn123.sinaapp.com

                                    • 美女图片 3

                                      随机调用有点难度

                                      • list 0

                                        鸟哥,救命啊! 我按这样操作后就提示:Parse error: parse error in D:wwwrootshuiguowwwrootwp-contentthemesHotNewsprofunctions.php on line 115
                                        我改回以前的也还是这样提示,在线急等…

                                        • hicetea 1

                                          鸟哥,你主题自动缩略图的比例是不是有问题,150×150,应该是160×100吧。。

                                          • 伤逝的安详 3

                                            这个不错,学习了

                                            • 斯利安叶酸 2

                                              谢啦,鸟哥。。。。

                                              • BOKE123 5

                                                这个方法挺实用的

                                                • 雨辰 2

                                                  鸟哥,你好,能否问你个插件的问题,我用了一款SyntaxHighlighter Evolved插件,但是无效,不能高亮代码。我现在用的主题是hotnews2.7.1,换了好几个主题,还是一样,禁用了所有插件,只留下SyntaxHighlighter Evolved,还是一样,不知道还能是什么原因?在主题footer.php 也是有的。鸟哥,能帮忙分析下吗

                                                    • 知更鸟 Admin

                                                      @雨辰 这个插件没用过,可以网站搜索一下使用方法
                                                      另外,主题本身已集成代码高亮功能,使用方法看使用说明

                                                    • 雨辰 2

                                                      鸟哥,站点图标怎么替换的?我用favicon.ico直接替换了主题下的favicon.ico,但是不管用啊,还需要改哪里吗?

                                                    • 来自外部的引用: 2

                                                      • HotNews主题不同分类显示不同的随机缩略图 | wordpress主题下载|wordpress教程|wordpress 插件| wordpress主机
                                                      • 随即产生WP的第一幅图片 | 红枫苑