后端搜索;包括CPT元吗?

时间:2013-08-19 作者:Austin Biggs

我目前有一个自定义的帖子类型,有两个部分标题;我的前端一切都很好。但在搜索帖子时,你搜索的帖子并不总是显示出来,因为部分标题位于该帖子的元数据中。

Is there any way that I can include the meta in the back end search for the Custom Post Type?

1 个回复
SO网友:Stephen Harris

未经测试,但应满足以下条件:

add_action( \'posts_clauses\', \'wpse110779_filter_admin_search\', 10, 2 );
function wpse110779_filter_admin_search( $pieces, $query ){
      global $wpdb;

     //Check if this is the main query,and is a search on the admin screen
     if( $query->is_search() & $query->is_admin() && $query->is_main_query() ){

          //Collect post types & search term
          $post_types = $query->get(\'post_type\');
          $search = $query->get(\'s\');

          //Check if query is for \'my-cpt\' post type
          if( \'my-cpt\' == $post_types 
               || ( is_array(  $post_types ) && in_array( \'my-cpt\',  $post_types ) )
          ){

             //Set up meta query
             $meta_query = array( array(
                \'key\' => \'my_key\',
                \'value\' => $search,
                \'compare\' => \'LIKE\'
            ));

             //Generate sql
             $meta_sql = get_meta_sql( $meta_query, \'post\', $wpdb->posts, \'ID\', $query );

             $pieces[\'join\'] . = " ". $meta_sql[\'join\'];
             $pieces[\'where\'] . = " OR (" . $meta_sql[\'where\'] .")";
          }
     }
     return $pieces;
}
请注意这一点completely 未经测试,但应在原则上起作用,至少可以让您开始。

结束

相关推荐

Wp-admin生成一个指向自身的302重定向

我正在网络模式下运行Wordpress(v3.5.2)。任何试图访问/wp admin的站点都会产生浏览器错误,表示存在重定向循环。重定向检查器工具表示,该页面返回一个302临时重定向到同一URL。我上传了一个默认值。htaccess文件,同样的情况也会发生。在cPanel中,我选中了Domains>Redirects,但没有列出这样的重定向。我已经将/plugins重命名为/plugins2,问题仍然存在。在wp\\U选项表中,site\\u URL设置为www.example。com,这是正确的