通过元值和键获取数组中的帖子id

时间:2018-04-15 作者:wpdev

如何获取具有元键和值的所有帖子ID。

$meta_key = \'hide_rss\';
$meta_value = \'yes\';

$post_ids = array(1, 2, 3);

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

使用meta_key, meta_value, 和fields 参数。

示例使用get_posts(): (但要注意,get_posts() 忽略或不包括粘性帖子)

$meta_key = \'hide_rss\';
$meta_value = \'yes\';

$post_ids = get_posts( [
    \'meta_key\'   => $meta_key,
    \'meta_value\' => $meta_value,
    \'fields\'     => \'ids\',
] );
或使用new WP_Query():

$meta_key = \'hide_rss\';
$meta_value = \'yes\';

$q = new WP_Query();
$post_ids = $q->query( [
    \'meta_key\'   => $meta_key,
    \'meta_value\' => $meta_value,
    \'fields\'     => \'ids\',
] );
请参见https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters 其他可能性,或高级元查询。

结束

相关推荐

WP_QUERY如果满足变量,则使用ARRAY_PUSH添加参数

如果变量是,我需要在wp\\u查询中添加更多参数!通过快捷码时为空。我正在传递循环中要使用的几个自定义字段名的名称。我希望它像这样工作:如果custom\\u field\\u 1是!空,但custom\\u field\\u 2为空,请将第一个数组添加到$args数组。如果custom\\u field\\u 1为!空且custom\\u field\\u 2为!空,将第二个数组添加到$args数组。我觉得我在大致范围内,但它工作不正常。如果我手动将每个meta\\u查询添加到$args数组,它将返回正