在循环中使用多个post meta

时间:2015-03-03 15:02:36

标签: wordpress

我有自定义元st_date和end_date

我想选择这两个条件适用的帖子:

  

1- end_date ="某个日期"

     

2 st_date ="某个日期"

     

3 - 我还需要按标题选择

     

4 - 然后在WordPress循环中使用结果。

if ( have_posts() ) : ?>
<?php get_template_part('loop'); ?> //etc..

这是我的草稿代码:

$st_date_s = 'something';
$end_date_s = 'something';
$pageposts = get_posts(
    array(
        'post_title'      => 'something'
        'post_type'      => 'something',
        'post_status'    => 'publish',
        'meta_query'     => array(
            array(
                array( 'key' => 'st_date', 'value' => $st_date_s, 'compare' => '=' ), 
                array( 'key' => 'end_date', 'value' => $end_date_s, 'compare' => '=' )
            )       
        ),  
    )
);
?>
<?php global $site_url;
if ( have_posts() ) : ?>
<?php get_template_part('loop'); ?>
<?php else : ?>//etc..

还有为什么&#39; post_title&#39; =&gt;不起作用吗?

1 个答案:

答案 0 :(得分:1)

你错过了一个relation参数,并且有一个太多array()个。由于您希望两个条件都为真,因此您应该使用AND

...

    'meta_query'     => array(
        'relation' => 'AND',
        array( 'key' => 'st_date', 'value' => $st_date_s, 'compare' => '=' ), 
        array( 'key' => 'end_date', 'value' => $end_date_s, 'compare' => '=' ),
    ),  

...

详细了解custom field parameters in the docs