我正在注册多种自定义帖子类型。一个是“新闻”,第二个是“通知”。我正在注册(和许多其他人):
消息:
$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插件。如果停用,则可以正常工作。有什么想法吗?!
答案 0 :(得分:2)
好的,我明白了。如预期的那样绝对荒谬。
其中一个自定义帖子类型未在Polylang设置中进行翻译和检查,因为它是在配置插件后添加的。
设置 - >语言 - >设置 - >自定义帖子类型
该死。