Query Multiple meta

时间:2016-03-18 作者:Stu Harrison

嗨,我浏览了论坛,但似乎找不到正确的解决方案

我们有一个房产网站,并设置了各种页面来显示特定类型的房产

例如页面结构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(); ?>
这很好,但是位置返回错误的位置,我只是想检查我是否以正确的方式进行操作,这是最好的方式,因为我的问题在哪里?

1 个回复
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();
    }
?>

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在