WP查询过滤基于url参数的帖子

时间:2015-06-24 18:45:43

标签: php wordpress

我有一套具有各种元字段的wordpress postst。我试图根据网址中给出的参数筛选这些帖子。例如。

www.example.com/?artist=franksinatra&mood=

应该用frank sinatra作为艺术家领域提出所有帖子,但忽略心情领域,因为它的空白。这很好。但我想进一步缩小我的搜索范围。所以当我添加其他参数时,例如:

www.example.com/?artist=franksinatra&mood=sad

所有包含该字段组合的帖子都应该显示出来。这是我的循环的开始,允许我使用一个参数但不是其他参数进行搜索。谢谢。

<?php
$queryArtist = $_GET['artist'];
$queryMood = $_GET['mood'];
$paged = get_query_var('paged');
    $loop = new WP_Query( array(
    'posts_per_page' => 5,
    'post_type' => 'catalog',
    'paged' => $paged,
    'order_by' => 'ASC',
     'meta_query' => array(
        'relation' => 'OR',
        array(
            'key' => 'artist',
            'value' => $queryArtist,
            'compare' => '=',
        )
    )
    )
            );
    while ( $loop->have_posts() ) : $loop->the_post(); ?>

1 个答案:

答案 0 :(得分:0)

您可以添加其他类似的查询:

'meta_query' => array(
    'relation' => 'AND',
    array(
        'key' => 'artist',
        'value' => $queryArtist,
        'compare' => '=',
    ),
    array(
        'key' => 'mood',
        'value' => $queryMood,
        'compare' => '=',
    )
)

通过将关系从“OR”切换到“AND”两个条件都必须为真