这个都是原来的老代码了,一直在用,刚刚看到留言有人需要,做个整理,给有需要的朋友!随机打开一篇文章,也就是我这里的“手气不错“,当时想到这个是因为google的首页上有这么个按钮,便也用这个了;该方法的实现有好几种,这里用functions.php的简洁方法。
我用的方法:把以下代码放到functions.php
的最后一个?>前:
function random_postlite() { global $wpdb; $query = "SELECT ID FROM $wpdb->posts WHERE post_type = 'post' AND post_password = '' AND post_status = 'publish' ORDER BY RAND() LIMIT 1"; if ( isset( $_GET['random_cat_id'] ) ) { $random_cat_id = (int) $_GET['random_cat_id']; $query = "SELECT DISTINCT ID FROM $wpdb->posts AS p INNER JOIN $wpdb->term_relationships AS tr ON (p.ID = tr.object_id AND tr.term_taxonomy_id = $random_cat_id) INNER JOIN $wpdb->term_taxonomy AS tt ON(tr.term_taxonomy_id = tt.term_taxonomy_id AND taxonomy = 'category') WHERE post_type = 'post' AND post_password = '' AND post_status = 'publish' ORDER BY RAND() LIMIT 1"; } if ( isset( $_GET['random_post_type'] ) ) { $post_type = preg_replace( '|[^a-z]|i', '', $_GET['random_post_type'] ); $query = "SELECT ID FROM $wpdb->posts WHERE post_type = '$post_type' AND post_password = '' AND post_status = 'publish' ORDER BY RAND() LIMIT 1"; } $random_id = $wpdb->get_var( $query ); wp_redirect( get_permalink( $random_id ) ); exit; } if ( isset( $_GET['random'] ) ) add_action( 'template_redirect', 'random_postlite' );
然后在导航栏添加该链接:
<a href="<?php echo get_option('home') ?>/?random" title="随机推荐一篇文章给你!">手气不错</a>
还有其他好几种方法,这里只是一种;
完。
:mrgreen: 这个嘛潇雨已经有啦。。
@潇雨 看到有人需要了 整理下。。。。 :mrgreen:
这种功能意义不大,如果是随机列表展示还更好。。。
@茶话汇 嗯 ,看个人需求了。。。
没试过这个功能呢
没折腾过
导航栏在哪里添加???
@鬼娃娃 哪个?
@公子 你说的第二步,在导航栏添加,导航栏通常在那个文件?
@鬼娃娃 不有修改文件,后台,菜单,新建自定义的,URL写 /?random
这模板不错很喜欢
得,谢了,可以免去一个插件,果断去试试~~谢谢分享。 :cool:
很不错的代码,自己弄了好长时间,终于可以用了,很喜欢,另外也很喜欢你的主题,感谢!
我的是加了一个随机日志目录,其实这个没什么人去点的
@哼哼猪 折腾无休止~ :kbz:
functions.php这个文件我每次修改后网站都无法打开,提示500错误,悲催额!!!
@垃圾站 UTF-8,无ROM很重要
@哼哼猪 哼哼猪刷机上瘾了~ :twisted: :mrgreen:
这个随机的不是自带就有的吗
@左尔德 是吗? 木有发现~
我觉得很少有人会去点击这个吧
这个功能非常有趣 ····· 不过这真的只是实现的一种,想想怎么用好。
用的插件
不错· 正需要呢~~一直调用不粗来诶·
:kbz: 很好,太佩服楼主了,这个我学了好久没头绪
:grin: 好棒,已经用上了!