为wordpress添加随便看看

随便看看其实就是随机阅读,点一下就会随机打开一篇文章。
记得刚接触wordpress那会还添加过这个功能,后来换了主题也懒得折腾了也就没有在添加这个功能。
wordpress用的人很多有很多大牛,一些想要的功能很多都可以通过安装插件来实现,但是很多人还是喜欢直接用代码来实现。
wordpress添加随便看看可以通过将下面的代码添加到wordpress当前主题的functions.php文件中来实现
1.把下面的代码添加到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' );

2.通过http://xxxx/?random 来访问,xxx替换成你的域名就可以了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,294评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,533评论 25 709
  • 书《吸引力是这样炼成的》。 作者莉尔·朗兹 ㈠「立刻吸引陌生人」 1 求助时站在对方的立场 尊重对方,互相理解。 ...
    L雁小七阅读 118评论 0 0
  • 这几个星期一直实训,好几天没画了
    柒涵阅读 295评论 0 2
  • 相比较雅思的口语,与其说是口语考试,我更愿意把托福的口试说成是听力考试。除了q1和q2的部分,后面q3-q6的综合...
    新麦加阅读 207评论 0 0