修改一句代码解决 WordPress 后台媒体库无法搜索的问题
前言
问题来源
其实问题主要来源于【搜索结果排除页面】这个功能,从百度搜索一下,会发现得到的代码和下面这段代码类似
- //搜索结果排除所有页面
- function search_filter_page($query) {
- if ($query->is_search ) {
- $query->set(\’post_type\’, \’post\’);
- }
- return $query;
- }
- add_filter(\’pre_get_posts\’, \’search_filter_page\’);
这段代码的意思是搜索的话,只显示 post 文章类型,也就是文章,没有页面,但是问题来了,这段代码没有限定位置,导致在后台也可以运行,而后台的搜索一般是文章搜索也没事,但是如果是附件搜索就 GG 了,所以这段代码我们是需要修改一下的。
修改后代码
- //搜索结果排除所有页面
- function search_filter_page($query) {
- if ($query->is_search && !$query->is_admin) {
- $query->set(\’post_type\’, \’post\’);
- }
- return $query;
- }
- add_filter(\’pre_get_posts\’, \’search_filter_page\’);
代码的修改只是给他加个 is_admin 的判断而已,也很简单的。
后语
这个很简单的问题为什么几乎没人发现,首先看百度的结果几乎都是错的,另外主题发布好多年了,也没人发现这个问题,说明这个需求是非常小的,其实因为 Git 会自动重命名文件,所以搜索文件名的方法其实并不是一个好的附件管理方式,最好的方式还是分类标签化管理,云落过段时间推荐一款附件管理插件,恩,值得期待。
本文转载自乐趣公园 云落 《WordPress媒体库无法搜索附件的解决方法》