使用自定义字段值获取帖子ID

时间:2011-12-05 作者:Gowri

我有一个自定义字段“prime”,其值为yes或no。我想获取具有所选值的帖子id”Yes“。我怎么能得到它呢?”。

提前感谢

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

试试这样的

$posts = get_posts( array(
    \'numberposts\' => -1,
    \'meta_key\' => \'prime\', 
    \'meta_value\' => \'yes\' 
    ) );

$post_ids = array();

if ( $posts ) {
    foreach ( $posts as $post ) {
        // Push post\'s IDs into array
        array_push( $post_ids, $post->ID );
    }
}
代码没有经过测试,但应该可以运行。如果您不想将ID发布到数组中,只需替换整个ID即可array_push 符合$post->ID

UPDATE

将“numberposts”参数设置为-1,这样它将返回所有帖子,而不是仅返回5篇作为默认值。感谢@Brady

SO网友:Scott

就我个人而言,我会使用一个自定义SQL查询来完成这项工作,因为我只返回我需要的ID。但要以可湿性粉剂的方式进行,您可以使用以下方法:

$posts = get_posts(
    array(
        \'numberposts\'     => -1,
        \'meta_key\'        => "prime",
        \'meta_value\'      => "yes",
    )
);
$posts将保存一个对象数组。这些对象保存循环等所需的所有post数据

结束

相关推荐