基于URL串的WordPress循环

时间:2014-11-13 作者:RMH

我在主页上有一个搜索表单,在下拉列表中包含ACF自定义字段值。提交时,表格转到/测试结果/。

在表格上,我有价格、地区和头衔的下拉列表。如果我选择前两个,那么搜索结果可能是:/test results/?价格=500-1000;地区=地点2

如何使用循环来显示使用url中任何上述选定字段的帖子?因此,在上面的示例中,它将列出所有价格值为“500-1000”且位于“Place2”区域的帖子

如果您能为我指出正确的方向,我们将不胜感激

sample test: URL WAS/测试结果/?价格=&;区域=位置3,且未拉入acf值集为位置3的任何测试位置

<?php

$queryPrice = explode(\'-\', $_GET[\'Price\']);
$queryRegion = $_GET[\'Region\'];

$args = array(
    // all your args here
    \'post_type\'    => \'resorts\',
    \'meta_query\' => array(
        \'relation\' => \'AND\',
        array(
            \'key\' => \'price\',
            \'value\' => $queryPrice,
            \'type\' => \'NUMERIC\',
            \'compare\' => \'BETWEEN\',
        ),
        array(
            \'key\' => \'region\',
            \'value\' => $queryRegion,
            \'compare\' => \'=\',
        ),  
    )
);

$query = new WP_Query( $args );

while ($query->have_posts()): $query->the_post();

?>

<h3>
  <?php the_title();?>
</h3>

<?php endwhile;  wp_reset_query(); ?>

1 个回复
最合适的回答,由SO网友:alpipego 整理而成

使用$_GET[\'Price\']$_GET[\'Region\'] 从url获取价格和地区值,并将其添加到查询参数中。没有任何代码就很难开始,但请尝试以下操作

$queryPrice = (strpos($_GET[\'Price\'],\'-\') ? explode(\'-\', $_GET[\'Price\']) : array($_GET[\'Price\'], $_GET[\'Price\']));
$queryRegion = $_GET[\'Region\'];

$args = array(
    // all your args here
    \'meta_query\' => array(
        \'relation\' => \'AND\',
        array(
            \'key\' => \'your_acf_price_field\',
            \'value\' => $queryPrice,
            \'type\' => \'NUMERIC\',
            \'compare\' => \'BETWEEN\',
        )
        array(
            \'key\' => \'your_acf_region_field\',
            \'value\' => $queryRegion,
            \'compare\' => \'=\',
        ),  
    )
);

$query = new WP_Query( $args );
在中查找更多信息acf documentation 或打开wpse

结束

相关推荐

基于URL串的WordPress循环 - 小码农CODE - 行之有效找到问题解决它

基于URL串的WordPress循环

时间:2014-11-13 作者:RMH

我在主页上有一个搜索表单,在下拉列表中包含ACF自定义字段值。提交时,表格转到/测试结果/。

在表格上,我有价格、地区和头衔的下拉列表。如果我选择前两个,那么搜索结果可能是:/test results/?价格=500-1000;地区=地点2

如何使用循环来显示使用url中任何上述选定字段的帖子?因此,在上面的示例中,它将列出所有价格值为“500-1000”且位于“Place2”区域的帖子

如果您能为我指出正确的方向,我们将不胜感激

sample test: URL WAS/测试结果/?价格=&;区域=位置3,且未拉入acf值集为位置3的任何测试位置

<?php

$queryPrice = explode(\'-\', $_GET[\'Price\']);
$queryRegion = $_GET[\'Region\'];

$args = array(
    // all your args here
    \'post_type\'    => \'resorts\',
    \'meta_query\' => array(
        \'relation\' => \'AND\',
        array(
            \'key\' => \'price\',
            \'value\' => $queryPrice,
            \'type\' => \'NUMERIC\',
            \'compare\' => \'BETWEEN\',
        ),
        array(
            \'key\' => \'region\',
            \'value\' => $queryRegion,
            \'compare\' => \'=\',
        ),  
    )
);

$query = new WP_Query( $args );

while ($query->have_posts()): $query->the_post();

?>

<h3>
  <?php the_title();?>
</h3>

<?php endwhile;  wp_reset_query(); ?>

1 个回复
最合适的回答,由SO网友:alpipego 整理而成

使用$_GET[\'Price\']$_GET[\'Region\'] 从url获取价格和地区值,并将其添加到查询参数中。没有任何代码就很难开始,但请尝试以下操作

$queryPrice = (strpos($_GET[\'Price\'],\'-\') ? explode(\'-\', $_GET[\'Price\']) : array($_GET[\'Price\'], $_GET[\'Price\']));
$queryRegion = $_GET[\'Region\'];

$args = array(
    // all your args here
    \'meta_query\' => array(
        \'relation\' => \'AND\',
        array(
            \'key\' => \'your_acf_price_field\',
            \'value\' => $queryPrice,
            \'type\' => \'NUMERIC\',
            \'compare\' => \'BETWEEN\',
        )
        array(
            \'key\' => \'your_acf_region_field\',
            \'value\' => $queryRegion,
            \'compare\' => \'=\',
        ),  
    )
);

$query = new WP_Query( $args );
在中查找更多信息acf documentation 或打开wpse

相关推荐