首页 > 代码

全局禁用 WordPress 查询用户列表

全局禁用 WordPress 查询用户列表

方法一:用 pre_user_query 拦截并中断不必要的用户查询
将以下代码添加到主题的 functions.php 中:


add_action('pre_user_query', function($query) {
  // 判断是否是 WP 后台在调用用户查询
  if (is_admin()) return;

  // 你可以根据请求 URL、查询参数、自定义标识进行精准拦截
  if (!empty($query->query_vars['include'])) {
    // 返回一个空查询结果
    $query->query_where = "WHERE 1=0";
  }
});

直接禁用“作者归档页”(防止触发相关 author 查询)


// 方法二:直接禁用“作者归档页”(防止触发相关 author 查询)
add_action('template_redirect', function () {
  if (is_author()) {
    global $wp_query;
    $wp_query->set_404();
    status_header(404);
    exit;
  }
});

彻底禁用 WP_User_Query 的结果(慎用)


//方法三:彻底禁用 WP_User_Query 的结果(慎用)
add_filter('users_pre_query', function($results, $query) {
  if (!is_admin()) {
    return []; // 直接返回空数组,不让用户列表跑起来
  }
  return $results;
}, 10, 2);

可选增强(禁止通过 REST API 获取用户)


//可选增强(禁止通过 REST API 获取用户)
add_filter('rest_endpoints', function($endpoints){
  unset($endpoints['/wp/v2/users']);
  unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
  return $endpoints;
});

  • 批量设置wordpress文章分类,把文章 ID 区间为 1256869 到 1257421批量设置分类为 ID =5
  • 将 cuwen.wp_posts 中 文章 ID 区间为 1256869 到 1257421(含) 的文章批量 […]

  • 同一台服务器里的两个wordpress数据库文章内容叠加复制
  • 问题:同一台服务器里的两个wordpress数据库,我要把名为temp数据库里的wp_posts的所有文章 全 […]

  • WordPress 如何在首页与内页用不同的菜单或header
  • 开发wordpress主题时,首页的header内容与内页的header内容希望不一样,这时就要用到WordP […]

  • wordpress有必要在body内加<body <?php body_class(); ?>吗?
  • 是 WordPress 主题开发中非常有用的一部分,建议保留。它会自动输出一些根据页面类型、用户状态、文章分类 […]

  • 推荐几个wordpress生成 整站 sitemap插件
  • 方法一:使用 WordPress 插件(推荐) 1. **使用 Rank Math SEO 插件(推荐)) 优 […]

  • wordpress_分页访问记录防刷统计功能(如一天同 IP 多次访问超页数则封 IP
  • 分页防刷统计与封锁机制的完整代码,可配合你已有的分页访问限制功能使用,实现更强的反采集防御: 功能目标 每个 […]