WordPress 技巧:后台文章列表搜索支持 ID

如果 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

该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,要求很高,有兴趣请联系微信:「chenduopapa」或微信公众号:「WordPress果酱」。

热门文章