Wordpress通过多个数据库字段搜索

我无法让这段代码工作。如果语法不正确,我很抱歉。我正在和一个已经有了主题的客户一起使用,我正在尝试对其进行相应的修改。客户是一名出租物业经理,需要一个搜索自由格式文本字段来遍历地址,城市,州和邮政编码以找到匹配或类似于搜索输入字段的匹配项。到目前为止,我所做的并不管用,只是返回所有属性,不管搜索条件如何。我不是特别确定我在这里做错了什么,并希望对此有所了解。Wordpress通过多个数据库字段搜索

if (get_query_var('paged')) { 

$paged = get_query_var('paged');

} else if (get_query_var('page')) {

$paged = get_query_var('page');

} else {

$paged = 1;

}

$args = array(

'post_type' => 'property',

'paged' => $paged

);

if(isset($_GET['search_keyword'])) {

if($_GET['search_keyword']) {

$args['meta_query'][] = array(

'relation'=>'or',

array (

'key' => 'pyre_address',

'value' => $_GET['search_keyword'],

'compare' => 'LIKE',

'type' => 'CHAR'

),

array(

'key' => 'pyre_state',

'value' => $_GET['search_keyword'],

'compare' => 'LIKE',

'type' => 'CHAR'

),

array(

'key' => 'pyre_city',

'value' => $_GET['search_keyword'],

'compare' => 'LIKE',

'type' => 'CHAR'

),

array(

'key' => 'pyre_zip',

'value' => $_GET['search_keyword'],

'compare' => 'LIKE',

'type' => 'CHAR'

)

);

}

}

query_posts($args);

if(have_posts()):

回答:

您的查询只是删除[]:

$args['meta_query'] = array(// correct line, the [] has to be removed 

仅供参考,在焦炭指定类型将投在WHERE语句为CHAR值(见CAST由于WordPress的,在表中。 wp_postmeta,列meta_value是VARCHAR,我认为这是没有用指定它,它只是放慢您的查询。

我希望我可以理解:)

还看看LIKE和'%keyword%'和'keyword'之间的区别

以上是 Wordpress通过多个数据库字段搜索 的全部内容, 来源链接: utcz.com/qa/263685.html

回到顶部