我创建了一个名为" old"使用下面的代码。
$args = [
'label' => _x( 'Old', 'page' ),
'label_count' => _n_noop( 'Old (%s)', 'Old (%s)' ),
'public' => false,
'internal' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'exclude_from_search' => true,
'publicly_queryable' => true,
];
register_post_status( 'old', $args );
当我尝试以任何状态发布所有帖子时,我无法获得标记为" Old"的帖子。
$args = array(
'meta_key' => 'parent_post_id',
'meta_value' => 123,
'post_status' => 'any',
'post_type' => 'any',
);
$posts = get_posts( $args ); // posts without "old"
如果我通过" Old"作为post_status值,使用" any"在数组中,它可以工作。
$args = array(
'meta_key' => 'parent_post_id',
'meta_value' => 123,
'post_status' => ['any', 'old'],
'post_type' => 'any',
);
$posts = get_posts( $args ); // posts with "old"
我该怎么做才能获得标记为" old"与"任何" Wp查询中的选项?
答案 0 :(得分:1)
如果您阅读the docs
'任何' - 检索除邮寄状态以外的任何状态 ' exclude_from_search'设置为true(即垃圾和自动草稿)。
看看你的代码:
'exclude_from_search' => true,