Wordpress管理面板搜索包含自定义帖子元值和标题的帖子

时间:2014-01-31 05:59:20

标签: wordpress search metadata custom-post-type key-value

您好我在搜索时有一个名为注册的自定义帖子类型我正在尝试添加自定义元值以及帖子标题。

以下是我的代码,

function search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', 'registration');
      $query->set('meta_query', array(
          array(
            'key' => 'rg_1job_designation',
            'value' => $query->query_vars['s'],
            'compare' => 'LIKE'
          )
        ));
    }
  }
}

add_action('pre_get_posts','search_filter');

但它不起作用。

我有帖子标题 - > 约翰& 指定 - > 设计 john 搜索时可以获得1个结果,但在搜索 Designer 时结果为空(这也应该获取一个结果)。

有人知道我的代码中有什么问题吗?

2 个答案:

答案 0 :(得分:0)

使用此插件搜索所有内容

http://wordpress.org/plugins/search-everything/

答案 1 :(得分:0)

在函数结束之前,您需要返回$ query。

function search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', 'registration');
      $query->set('meta_query', array(
          array(
            'key' => 'rg_1job_designation',
            'value' => $query->query_vars['s'],
            'compare' => 'LIKE'
          )
        ));
    }
  }
  return $query;
}