WordPress在搜索中包含自定义字段

时间:2019-05-31 09:27:32

标签: wordpress

我在WordPress中有一个自定义帖子类型post_type_1,在该帖子中也有一个自定义字段custom_field_data

我正在通过像这样使用apples查询帖子来搜索wp_query ...

$search_term = 'apples';

$args = array(
    'post_type'      => array('post_type_1'),
    'post_status'    => array('publish'),
    'posts_per_page' => -1,
    's'              => sanitize_text_field( $search_term)
);

$results= new WP_Query( $args );

这可以正常工作,并返回标题中带有apples的所有帖子,但是我也想将搜索范围扩展到自定义字段custom_field_data,以便查询将返回带有{{1}的所有帖子。 }在标题或自定义字段中。

我最好的方法是什么?我尝试使用meta_query,但没有成功。有人举榜吗?

1 个答案:

答案 0 :(得分:0)

使用以下代码将适用于custom field search

$custom_field = $_GET['custom_field '] != '' ? $_GET['custom_field '] : '';
$search_term = 'apples';

$args = array(
    'post_type'      => array('post_type_1'),
    'post_status'    => array('publish'),
    'posts_per_page' => -1,
    's'              => sanitize_text_field( $search_term),
    'meta_query'    =>  array(
                          array(
                                'key'     => 'custom_field_key', 
                                'value'   => $custom_field ,
                                'compare' => 'LIKE', 
                                ),
                            )
    );
$results= new WP_Query( $args );

经过测试,效果很好。