我有一套具有各种元字段的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(); ?>
答案 0 :(得分:0)
您可以添加其他类似的查询:
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'artist',
'value' => $queryArtist,
'compare' => '=',
),
array(
'key' => 'mood',
'value' => $queryMood,
'compare' => '=',
)
)
通过将关系从“OR”切换到“AND”两个条件都必须为真