WordPress导航栏如何实现“手气不错”随机功能

世上最好的保鲜就是不断进步,让自己成为一个更好和更值得爱的人。早安!不要去争取属于别人的东西,否则,费的力越多,得到的越少。早安!

前段时间,明月登楼博主建议在 boke112 导航首页加入一个可以“随机访问”热门博客的功能,其实这个就是类似谷歌首页的那个“手气不错”。不过由于 boke112 导航的博客目录关于博客的介绍比较少没什么价值,所以就改为随机访问某一篇文章,今天顺便把实现办法分享给大家。

我们平时所说的 WordPress 导航栏上的手气不错的按钮功能,其实就是点击一下,将会随机显示篇文章的详细内容,也就是所谓的文章页。这个功能比较合适老用户访问站点旧文章,因为这种无法预测的随机感,能给人带来一定的新鲜度,所以懿古今和 boke112 导航也跟着上线了这个功能,希望大家喜欢。

在 WordPress 导航栏上实现手气不错的按钮功能,有很多种方法,今天本站只分享最简单一种,只需要简单的两步即可,具体如下:

第一步,把以下代码放到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' );

PS:代码来源于公子府

第二步,在WordPress后台》外观》菜单中添加一个链接类型的菜单,在 URL 中输入:https://www.yigujin.cn//?random(记得把本站域名改为贵站域名哦),在链接文本中输入:手气不错(或其他)。

至此,已经成功在 WordPress 导航栏添加手气不错的按钮功能。

2015 年 12 月 2 日更新:张戈博主提供一种更简单的代码,我们只需要把第一步的代码更改为以下代码即可:

//导航菜单添加手气不错按钮
function random_postlite() {
$loop = new WP_Query( array( 'post_type' => array(post),'orderby' => 'rand','posts_per_page' => 1 ) );
while ( $loop->have_posts() ) : $loop->the_post();
wp_redirect( get_permalink() );
endwhile;
}
if ( isset( $_GET['random'] ) )
add_action( 'template_redirect', 'random_postlite' );

PS:代码来源于张戈博客

到此这篇关于WordPress导航栏如何实现“手气不错”随机功能就介绍到这了。人这一生能力有限,但是努力无限,努力做一个的人,做一个心态阳光的人,做一个积极向上的人,用正能量激发自己,也感染身边的,你阳光,世界也会因你而精彩!一辈子要记住三句话:看人长处、帮人难处、记人好处,做一个充满正能量的人!更多相关WordPress导航栏如何实现“手气不错”随机功能内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?