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