百影阁
在乱世中寻求安身之所!

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

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

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

添加方法:

将代码添加到主题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菜单即可。
例:www.byings.cn/?random
赞(0) 打赏
未经允许不得转载:百影阁 » 给WordPress添加随机文章功能,类似Google手气不错

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

百影阁 巨人影子下的探索之旅

联系百影阁阁主进群讨论

觉得文章有用就打赏一下文章作者

微信扫一扫打赏