非插件实现WordPress随机跳转文章,还是主张能不用插件的情况下尽可能不用插件
今天介绍一种不用插件实现WordPress随机跳转文章的方法,随机跳转的话好处很多可以有效的提高用户体验和粘贴度。具体演示请见 游子网络 的右上角 “随便看看”
非插件实现WordPress随机跳转文章的方法如下:
1、在主题函数中添加如下代码,WordPress后台—外观—编辑—-找到 主题支持函数(functions.php) 文件 一定要放在标签?>标签中。改之前记得备份以防万一
function matt_random_redirect() {
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’, ‘matt_random_redirect’ );
2、在导航或者你想要放置的位置添加如下代码
<a rel=’nofollow’ href=”/?random” target=”_blank” title=”随便看看”>随便看看</a>
OK,试试效果吧,应该很不错的。如果遇到问题可以在这留言,一般是不会有问题的除非functions.php插入代码的位置不对。href中已经添加rel=’nofollow’ 对SEO友好一点。
你好!你说的导航是那个位置?
我做了还是不行,可以教下我嘛?
QQ:335142337谢谢了!
添加到你想添加的地方,编辑主题模板!
支持下博主,欢迎回访啊~
代码收藏,目前还不知道加在哪里,感觉还是挺不错的
放到主题函数中即可
为什么可以提高用户体验和粘黏度诶?不是直接用随机文章就可以了么?
两者性质不同
嗯,不错,学习了。不过不折腾WP都好久了
相互学习!折腾很累有空的时候再折腾