WP 优化

WordPress 添加随便看看

3年前 (2020-10-13)   1.21k   1241 字

哎,我真的是一个勤劳的小蜜蜂,像我这么高产的博主不多了,也是站点刚成立,新鲜感没过,几天不更就浑身难受。

每次找配图真的是一个让人崩溃的事情,有的时候一张配图要找几个小时。好了,废话不多说,切入正题。

随便看看
  • 顾名思义就是随机给出文章看看,就是本博客右下角随便看看的功能。很小但很实用。
原理
  • 随机在博客中抽取一篇文章来访问。
操作方法
  • 将以下代码加入到主题目录中的 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 即可看到效果
  • 如: https://www.jakehu.cn/?random
  • 如果要在导航菜单现实的话,在后台新建一个自定义 URL 菜单即可。
演示
  • 具体效果见本博客右下角
版权声明:Jakehu 发表于 2020-10-13 23:04:53
转载请注明:WordPress 添加随便看看︱Jakehu

您可能感兴趣的

暂无评论

暂无评论...