嗨,我浏览了论坛,但似乎找不到正确的解决方案
我们有一个房产网站,并设置了各种页面来显示特定类型的房产
例如页面结构Locationlocation/houseslocation/houses/for salelocation/houses/for rent location/公寓等
总的来说,我已经设置好了,它工作正常,但一旦使用了深入的位置/房屋/forsale,它似乎抛出了错误的结果
我已经设置了所有自定义元来适应这个
<?php
$args = array(
\'post_type\' => \'custom_type_houses\',
\'meta_query\' => array(
\'relation\' => \'OR\',
array(
\'key\' => \'custom_meta_location\',
\'value\' => \'Arusha\',
\'compare\' => \'=\'
),
array(
\'key\' => \'custom_meta_status\',
\'value\' => \'For Rent\',
\'compare\' => \'=\'
)
)
);
query = new WP_Query( $args );
while($query->have_posts()) {
$query->the_post(); ?>
这很好,但是位置返回错误的位置,我只是想检查我是否以正确的方式进行操作,这是最好的方式,因为我的问题在哪里?
SO网友:Michael Dozark
编写的查询将检索具有post类型的postcustom_type_houses
出租或在阿鲁沙。如果你只想要在阿鲁沙出租的房子,你需要换一套\'relation\' => \'OR\'
在元查询中\'relation\' => \'AND\'
, 像这样:
<?php
$args = array(
\'post_type\' => \'custom_type_houses\',
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'custom_meta_location\',
\'value\' => \'Arusha\',
\'compare\' => \'=\',
),
array(
\'key\' => \'custom_meta_status\',
\'value\' => \'For Rent\',
\'compare\' => \'=\',
),
),
);
$query = new WP_Query( $args );
while ( $query->have_posts() ) {
$query->the_post();
}
?>