使用wp_Query获取与自定义帖子的额外字段值匹配的数据

时间:2017-12-12 作者:Abdus Sattar Bhuiyan

我将post\\u meta“batch”添加到“assignment”自定义帖子中,如下所示:

update_post_meta( $id, \'batch\', strip_tags($_POST[\'batch\']));
现在,我尝试检索以下数据:

$args = array(
    \'post_type\'   => \'assignment\',
    \'post_status\' => \'publish\',
);

$assignments = new WP_Query( $args );
我想获取所有具有“batch=2017”的数据。我该怎么做?

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

更改WP查询参数,如下所示:

$args = array(
    \'post_type\'   => \'assignment\',
    \'post_status\' => \'publish\',
    \'meta_key\'     => \'batch\',
    \'meta_value\'   => \'2017\',
);
对于多个post meta,您可以像这样使用meta\\u查询

$args = array(
    \'post_type\'   => \'assignment\',
    \'post_status\' => \'publish\',
    \'meta_query\' => array(
        array(
            \'key\'     => \'color\',
            \'value\'   => \'blue\',
        ),
        array(
            \'key\' => \'year\',
            \'value\' => \'2017\',
        )
    ),
);

SO网友:Sid

首先,创建一个名为“batch”的自定义分类法并使用它创建所需的术语将使这非常容易。

$args = array(
    \'post_type\'   => \'assignment\',
    \'post_status\' => \'publish\',
);

$assignments = new WP_Query( $args );

if ( $assignments->have_posts() ) {

    while ( $assignments->have_posts() ) {
            $assignments->the_post();
           $batch = get_post_meta( get_the_ID(), \'batch\', true );
           if($batch == 2017){
              echo get_the_title();
           }
    }

}

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post