按元值选择自定义帖子

时间:2013-10-09 作者:Joren

假设我有自定义的帖子类型foo 有一个叫做bar. 我发布了一个条目bar = pineapple. 现在我想检查一下foo 在数据库中bar 设置为pineapple. 我该怎么做?

我用一个wpdb 但这感觉不对。有没有一种优雅的、也许是内在的方式可以让我做到这一点?

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

我想你指的是这样一个问题:

$args = array( 
               \'post_type\'      => \'foo\', 
               \'meta_key\'       => \'bar\', 
               \'meta_value\'     => \'pineapple\',
               \'posts_per_page\' => 1,
        );

$query = new WP_Query( $args );
您可以查看更多信息here 在中的元查询上WP_Query.

如果您只想检查是否存在这样的帖子,可以使用found_posts 属性:

if( $query->found_posts > 0 ){
    // do stuff
}
或者像往常一样have_posts() 方法:

if( $query->have_posts() ){
    // do stuff
}

结束

相关推荐

WordPress:可排序的Metabox字段不保存位置

我遇到了一个让我困惑的问题:升级到WP 3.6后,当您重新订购时,我的可排序metabox字段没有保存它们的位置。下面是我的代码:PHP:function save_box( $post_id ) { $post_type = get_post_type(); // verify nonce if ( ! isset( $_POST[\'custom_meta_box_nonce_field\'] ) ) return $p