自定义帖子类型可以具有父页面吗?


16

我已经在Webiverse中看到很多关于将页面分配为自定义帖子类型的父级的帖子。四小时后,我找不到解决方案,需要帮助。我创建了一个“关于”页面,该页面是“我们的人”页面的父级。我还创建了一个名为“人”的自定义帖子类型。我已经为“我们的人”页面创建了一个自定义页面模板。在您进入单个“人员”页面之前,永久链接结构看起来不错。例如:John Smith's Page,永久链接不正确。

自定义帖子类型:

所需的永久链接结构: / about-us / our-people / john-smith

实际上是固定链接结构: / our-people / john-smith

我们的人员页面结构: / about-us / our-people

“ about-us”是一个页面,“ our-people”是一个页面,也是自定义帖子类型“ people”的子句重写。我试图更改层次结构设置,并且尝试将“约我们/我们的人”直接添加到重写中,但没有成功。

Functions.php:

function codex_custom_init() {
    // Our People
    $people_label = array(
        'name' => 'People',
        'singular_name' => 'People',
        'add_new' => 'Add People',
        'add_new_item' => 'Add New People',
        'edit_item' => 'Edit People',
        'new_item' => 'New People',
        'all_items' => 'All People',
        'view_item' => 'View People',
        'search_items' => 'Search People',
        'not_found' => 'No People found',
        'not_found_in_trash' => 'No People found in Trash',
        'parent_item_colon' => '',
        'menu_name' => 'People',
    );
    $people_args = array (
        'labels' => $people_label,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => array( 'slug' => 'our-people'),
        'capability_type' => 'page',
        'has_archive' => true,
        'hierarchical' => true,
        'menu_position' => null,
        'menu_icon' => get_template_directory_uri() . '/images/icons/people.png',
        'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt','page-attributes'),
    );

    register_post_type('people', $people_args);
}

我的自定义模板: people.php people-single.php

Answers:


19

这应该工作:

'rewrite' => array( 'slug' => 'about-us/our-people'),

结合:

'has_archive' => false,

进行更改以刷新重写规则后,请确保在管理员中访问“永久链接”设置页面。


2
那会做什么?
尼克,

7
很高兴看到一些为什么会起作用的解释。
蒙特利尔,

3
对于只想给其CPT一个父页面,而不是禁用存档的任何人,值得注意的是,“ has_archive”也可以传递一个用于存档段的字符串。
jwinn

3
还值得注意的是,这不会从诸如Yoast之类的插件中向面包屑注入“关于我们”的信息。
Mir

2
@Mir关于该Yoast问题的任何已知解决方法?
arvil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.