如果 WordPress 后台文章比较多,在进行 debug 的时候,对方告诉你 ID 的时候,在文章表是无法快速定位到对应的文章的,可以通过下面的代码让 WordPress 在后台文章列表搜索支持 ID:add_filter('posts_clauses', function ($clauses, $wp_quer…

如果 WordPress 后台文章比较多,在进行 debug 的时候,对方告诉你 ID 的时候,在文章列表是无法快速定位到对应的文章的,可以通过下面的代码让 WordPress 在后台文章列表搜索支持 ID:

add_filter('posts_clauses', function ($clauses, $wp_query){  if($wp_query->is_main_query() && $wp_query->is_search()){    global $wpdb;     $search_term  = $wp_query->query['s'];     if(is_numeric($search_term)){      $clauses['where'] = str_replace('('.$wpdb->posts.'.post_title LIKE', '('.$wpdb->posts.'.ID = '.$search_term.') OR ('.$wpdb->posts.'.post_title LIKE', $clauses['where']);    }elseif(preg_match("/^(d+)(,s*d+)*$/", $search_term)){      $clauses['where'] = str_replace('('.$wpdb->posts.'.post_title LIKE', '('.$wpdb->posts.'.ID in ('.$search_term.')) OR ('.$wpdb->posts.'.post_title LIKE', $clauses['where']);    }  }   return $clauses;}, 2, 2);

上面代码支持直接搜索一个文章 ID,比如 123,也支持多个文章 ID,不过需要通过「,」区隔开,比如 123,345,567

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。