在wordpress导航栏添加随机文章菜单

仿google搜索栏的手气不错,在wordpress顶部导航栏也添加随机文章的菜单,就是点击随机生成一篇文章,可以提高旧文章曝光几率,增加用户阅读趣味。添加方法也很简单,只需两步。

1、在function.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文章,具体获取路径为 /?random

2、创建菜单

登陆后台>外观>菜单,选择左下自定义菜单,名称“手气不错”(可随意),地址为 /?random

欢迎转载,转载请注明本文链接:众推不靠谱 » 在wordpress导航栏添加随机文章菜单

吐槽 18


  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. http://7bqo4r7pr.bbzpg.cn奥盖尔液压泵中国回复
  2. 小鱼博客功能棒棒哒,但是感觉并没有利用到random_cat_id和random_post_type :?:回复
  3. 孤军奋战这个功能,不错,研究一下添加上,谢谢博主回复
  4. 清风美文已用上这个功能了。 感谢分享。回复
  5. 烂番茄哈哈,功能可以试试。。回复
  6. 星岩博客学习了,又多了一个技能,以后也许用得着。回复
  7. 技术拉近你我刚弄了个:草根站长交流群:488382993 希望感兴趣的可以加进来交流。回复
  8. 技术拉近你我学习了,晚上弄弄,最近一直想加这个功能。回复
  9. boke112导航这个功能挺不错的,可以用在很多地方,如换一批文章或图片之类的回复