WordPress媒体库无法搜索附件的解决方法

创客云

前段时间一直有个朋友说使用某某WordPress主题会导致后台媒体库无法搜索,因为我这里是对上传的文件自动重命名的,所以对这个需要并不是太感冒,但是其实心里已经大概有了想法的,所以前段时间解决这个问题,在这里记录下。其实问题主要来源于【搜索结果排除页面】这个功能,从百度搜索一下,会发现得到的代码和下面这段代码类似:

  1. //搜索结果排除所有页面
  2. function search_filter_page($query) {
  3.     if ($query->is_search ) {
  4.         $query->set('post_type', 'post');
  5.     }
  6.     return $query;
  7. }
  8. add_filter('pre_get_posts', 'search_filter_page');

这段代码的意思是搜索的话,只显示post文章类型,也就是文章,没有页面,但是问题来了,这段代码没有限定位置,导致在后台也可以运行,而后台的搜索一般是文章搜索也没事,但是如果是附件搜索就GG了,所以这段代码我们是需要修改一下的。

修改后代码:

  1. //搜索结果排除所有页面
  2. function search_filter_page($query) {
  3.     if ($query->is_search && !$query->is_admin) {
  4.         $query->set('post_type', 'post');
  5.     }
  6.     return $query;
  7. }
  8. add_filter('pre_get_posts', 'search_filter_page');

代码的修改只是给他加个is_admin的判断而已,也很简单的。这个很简单的问题为什么几乎没人发现,首先看百度的结果几乎都是错的,另外这个需求是非常小的,搜索文件名的方法其实并不是一个好的附件管理方式,最好的方式还是分类标签化管理。

本文来源乐趣公园,经授权后由CityMall发布,观点不代表创客云的立场,转载请联系原作者。
云模板

发表评论