找回密码
 立即注册
搜索

途迹耕耘

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

GMT+8, 2025-12-22 07:11 , Processed in 0.183973 second(s), 14 queries .

[DZ教程] discuz在diy帖子列表模块调用随机文章帖子

[复制链接]
bdk 发表于 2020-5-2 11:50:40 | 显示全部楼层 |阅读模式
discuz如何在diy帖子列表模块调用随机文章,关于随机文章到底是好还是坏一直是很多做SEO一直在争论的问题,在这里博主认为,其实页面增加小部分随机文章链接对优化影响还是不大,而且相对来说对网页的收录和网站快照的更新有一定的作用,那么就拿Discuz论坛来说怎么在diy模块列表里面添加调用随机文章呢?
修改方法如下(请修改的朋友自行备份修改前的文件,程序错误笔者不承担责任)修改文件时备份这个习惯很重要!
1:首先用dw打开网站根目录下source/class/block/forum/block_thread.php。查找一下代码:
  1. $query = DB::query(“SELECT DISTINCT t.*$sqlfield
  2. FROM `”.DB::table(‘forum_thread’).”` t
  3. $sqlfrom WHERE {$maxwhere}t.readperm=’0′
  4. $sql
  5. AND t.displayorder>=’0′
  6. ORDER BY t.$orderby DESC
  7. LIMIT $startrow,$items;”
  8. );
复制代码
2:在这段代码前面加上下面这段代码,其中1000代表调用的时候随机起始值,这个值如果你站的内容大的话,
可以适当增加或者减少!
  1. if($startrow==1000){
  2. $yunhuifus = DB::query(“SELECT DISTINCT t.*$sqlfield
  3. FROM `”.DB::table(‘forum_thread’).”` t
  4. $sqlfrom WHERE {$maxwhere}t.readperm=’0′
  5. $sql
  6. AND t.displayorder>=’0′
  7. ORDER BY t.$orderby DESC;”
  8. );
  9. $sqlNum =  mysql_num_rows($yunhuifus);
  10. $startrow = mt_rand(0, $sqlNum-$items);
  11. }
复制代码

这段代码就是随机生成数据起始行的代码。保存代码后修改帖子调用模块。然后在在diy帖子列表模块调用随机文章:数据来源可以随便,你选择那种模式他就会调用相应模式下的文章随机排序。把起始数据行数设置成$startrow,(你$startrow设置成多少,这里就写多少)这步一定要做,要不所有的操作都是无效的。把数据缓存更新设置成30分钟左右,如果想一天就更新两次,可以调协成四五个小时。可选准时更新(这样更新就比较急时了,但是服务器负载比较大。)。