当请求多个帖子类型时,WP_Query不会返回其中一个自定义帖子类型

时间:2015-02-12 08:12:17

标签: wordpress custom-post-type

我正在注册多种自定义帖子类型。一个是“新闻”,第二个是“通知”。我正在注册(和许多其他人):

消息:

$labels = .. // leaving this blank for SO, shouldn't be of importance

$args = array(
    'labels'             => $labels,
    'public'             => true,
    'publicly_queryable' => true,
    'show_ui'            => true,
    'show_in_menu'       => true,
    'query_var'          => true,
    'rewrite'            => array( 'slug' => 'news' ),
    'capability_type'    => 'post',
    'has_archive'        => true,
    'hierarchical'       => false,
    'menu_position'      => null,
    'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'revisions' )
);

register_post_type( 'news', $args );

通知:

$labels = .. // leaving this blank for SO, shouldn't be of importance

$args = array(
    'labels'             => $labels,
    'public'             => true,
    'publicly_queryable' => true,
    'show_ui'            => true,
    'show_in_menu'       => true,
    'query_var'          => true,
    'rewrite'            => array( 'slug' => 'notification' ),
    'capability_type'    => 'post',
    'has_archive'        => true,
    'hierarchical'       => false,
    'menu_position'      => null,
    'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'revisions' ),
    'can_export'         => true,
    'taxonomies'         => array('employee'),
);

register_post_type( 'notification', $args );

}

如果我尝试获取“新闻”和“发布”帖子类型(或“新闻”和“事件”等),请

$args = array(
    'post_type' => array('news','post'),
);
$the_query = new WP_Query( $args );

它会做它应该做的:获取post_type数组参数中给出的所有类型的帖子。

但是,当我尝试获取任何帖子类型的“通知”帖子类型时,它不会返回“通知”帖子类型。我试过的例子:

  

'post_type'=>数组('新闻','发布'),//新闻和帖子返回

     

'post_type'=> array('news','notification'),//返回新闻,但不返回通知

     

'post_type'=> array('post','notification'),//只返回帖子

当仅传递“通知”帖子类型时,我会按照我的意愿返回帖子:

  

'post_type'=> array('notification'),//我收到所有通知

如果post_type数组中有任何其他帖子类型,为什么我不会收到任何类型'通知'的帖子?我必须在这里找到一些非常明显的东西。

注册新闻和通知时唯一的区别是'can_export'和'taxonomies',但不是这样(尝试将其评论通知)

谢谢

更新

好的,我认为我有罪魁祸首:Polylang插件。如果停用,则可以正常工作。有什么想法吗?!

1 个答案:

答案 0 :(得分:2)

好的,我明白了。如预期的那样绝对荒谬。

其中一个自定义帖子类型未在Polylang设置中进行翻译和检查,因为它是在配置插件后添加的。

  

设置 - >语言 - >设置 - >自定义帖子类型

该死。