我有一个自定义的帖子类型,它有一个自定义的分类法,作为这个自定义帖子类型的主要层次结构。我正在经历一些我无法解释的行为。
该层次结构有三个层次,如下所示:
主节-小节
其想法是将每个自定义帖子类型添加到一个小节中,以便形成一个类似于书籍>章节的结构。我对自定义帖子类型管理页面做了一些限制,因此只能向子部分添加新的自定义帖子类型(这一部分工作得很好)。
问题是,对于主要/部分过滤器,某些子部分中的自定义帖子类型不会显示。这不仅存在于我的定制前端归档中,也存在于WordPress后端,这似乎是一个非常基本的问题。对于这个自定义帖子类型的后端,我还为分类添加了一些非常标准的过滤器。当我在这个过滤器中选择--subsection depth时,包含这个--subsection的帖子将按预期显示。但是当选择前面提到的小节的主要部分或-部分时,什么都没有显示。所有这些分类法都是由用户添加的,所以我不确定他在添加这些有问题的子部分时是否做了一些不同的事情。
一些可能相关且处于活动状态的插件:
WPML多语言CMS分类顺序和分类术语顺序:使用自定义帖子类型作为分类,我自然尝试禁用它们。
我的CPT注册:
add_action(\'init\', function() {
global $plugin_base_dir;
// Argumenten voor registreer functie
$args = array(
\'labels\' => array(
\'name\' => \'Rules\',
\'singular_name\' => \'Rule\',
\'add_new\' => \'New rule\',
\'add_new_item\' => \'Add new rule\',
\'edit_item\' => \'Edit rule\',
\'new_item\' => \'New rule\',
\'view_item\' => \'View rule\',
\'search_items\' => \'Search rules\',
\'not_found\' => \'No rules found\',
\'not_found_in_trash\' => \'No rules found in trash\'
),
\'query_var\' => \'rule\',
\'rewrite\' => false,
\'taxonomies\' => array(
\'rlt_rule_headline\',
\'rlt_rule_topic\',
\'rlt_rule_year\'
),
\'public\' => true,
\'publicly_queryable\' => true,
\'menu_icon\' => \'\',
\'show_ui\' => true,
\'hierarchical\' => false,
\'menu_position\' => null,
\'supports\' => array(
\'title\',
\'editor\'
)
);
// Registreer de Custom Post Type
register_post_type(\'rlt_rule\', $args);
});
有问题的分类法注册:
register_taxonomy(
\'rlt_rule_headline\',
\'rlt_rule\',
array(
\'labels\' => array(
\'name\' => \'Headlines\',
\'singular_name\' => \'Headline\',
\'add_new_item\' => \'Add headline\',
\'new_item_name\' => "New headline"
),
\'rewrite\' => array(
\'slug\' => \'headline\',
\'with_front\'=> false,
\'feed\'=> true
),
\'show_ui\' => true,
\'show_tagcloud\' => false,
\'hierarchical\' => true
)
);
我添加的后端筛选器:
$filter_taxonomy = \'rlt_rule_headline\';
wp_dropdown_categories(
array(
\'show_option_all\' => \'Show all headlines\',
\'taxonomy\' => $filter_taxonomy,
\'name\' => $filter_taxonomy,
\'orderby\' => \'name\',
\'selected\' => ( isset( $wp_query->query[$filter_taxonomy] ) ? $wp_query->query[$filter_taxonomy] : \'\' ),
\'hierarchical\' => true,
\'depth\' => 3,
\'show_count\' => false,
\'hide_empty\' => true,
)
);
过滤器为默认值。我没有添加函数来捕获它并处理任何事情。因此,它只是像普通归档一样添加query\\u变量和过滤器。前端归档也是如此。