如何将分层页面深度(对于自定义帖子类型)限制为仅限子页面

时间:2012-10-17 作者:41st

有没有办法limit the creation of pages (自定义帖子类型)到specific depth - e、 g.1级(其中0=父母,1=子女,2=孙子女等)?

例如,让我们创建一个带有slug“/Summer”的“Summer”配方页面(自定义帖子类型:recipe)。现在,让我们创建一个带有slug“/Summer/Pie”的“Pie”页面(“Summer”的子页面)。我想阻止用户创建一个属于“Pie”或任何其他子页面的子页面。

示例。com/summer->很好的示例。com/summer/pie->很好的示例。com/summer/pie/apple->坏的例子。com/summer/pie/blackberry->糟糕的,谢谢。

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

function my_test($a) {
  $a[\'depth\'] = 1;
  return $a;
}
add_action(\'page_attributes_dropdown_pages_args\',\'my_test\');
把它放在主题的功能中。php或插件。

SO网友:groucho75

以下过滤器仅显示页面属性下拉列表中的顶级自定义帖子类型项目(在主编辑屏幕和快速编辑中)。更换\'my_custom_post_type\' 使用自定义帖子类型名称。

function my_test($args) {
    global $post_type_object;

    if ( $post_type_object->name == \'my_custom_post_type\') {
        $args[\'depth\'] = 1;
    }
    return $args;
}
add_filter(\'page_attributes_dropdown_pages_args\',\'my_test\');
add_filter(\'quick_edit_dropdown_pages_args\', \'my_test\');

结束

相关推荐

rewrite rules hierarchical

我希望我的WordPress遵循以下规则:/productes/ 包含所有产品的页面/productes/[category]/ 包含该类别所有产品的分类页面/productes/[category]/[subcategory]/ 包含该类别所有产品(与2相同)的分类页面/[productes]/[category]/[product]/ A.single-productes.php 将显示类别产品/[productes]/[category]/[subcategory]/[product]/ A.sin