请在Chrome、Firefox等现代浏览器浏览本站。记住我们的域名:tmy123.com   加入本站QQ群,大家一起HIGH:点击加入QQ群

给WordPress添加随机文章功能,类似Google手气不错

WP教程 Jophen 俞 4811℃ 已收录 10评论

这是一个实用的小功能,刚刚在“无主题”博客上看到了这个功能,博主也共享了代码,但加到本站后,很多404,还有的是图片,可能是本站的文章ID不连续,造成的,所以改良了以下代码,需要的童鞋自己来copy吧,具体功能见本站导航栏。

random

 

将代码添加到主题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' );

使用方法:

访问域名/?random即可看到效果,如果要在导航菜单现实的话,新建一个自定义URL菜单即可。

本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://tmy123.com/random-post.html
喜欢 (6)
发表我的评论
取消评论
表情 代码 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(10)条精彩评论。
  1. 可否直接反向代理谷歌搜索引擎做一个自己的站内搜索。来弥补一下搜索功能。
    applecho2015年-07月-13日发表回复| Opera Mini11.10| unknow
    • 百度也有站内搜索啊
      Jophen 俞2015年-07月-14日发表回复| Google Chrome 42.0.2311.152| Windows 7 x64
  2. 文章拿去啦http://www.soyep.net/1144.html
    拉拉阿拉2015年-05月-02日发表回复| Google Chrome 31.0.1650.63| Windows XP
    • 404咯
      Jophen 俞2015年-05月-03日发表回复| Google Chrome 41.0.2272.89| Windows 7 x64
  3. 我就在根目录新建了个php文件……
    幻杀博客2015年-04月-10日发表回复| Google Chrome 38.0.2125.122| Windows 7 x64
    • 厉害
      Jophen 俞2015年-04月-10日发表回复| Google Chrome 39.0.2171.99| Windows 8.1 x64
  4. get,其实就是个随机抽取表中一条数据,对吧? 😮
    幻杀博客2015年-02月-22日发表回复| Firefox 35.0| Windows 10
    • 这都被你看出来了 😮
      Jophen 俞2015年-02月-22日发表回复| Google Chrome 40.0.2214.111| Windows 7 x64
  5. 羊年到了,愿博主打开房门,迎羊入室发洋财!
    艾博2015年-02月-19日发表回复| Google Chrome 40.0.2214.94| Windows 8.1 x64
    • 你也要喜洋洋哦
      Jophen 俞2015年-02月-19日发表回复| Google Chrome 39.0.2171.99| Windows 7 x64