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