问题描述

我在 Webiverse 中看到很多关于将页面分配为自定义帖子类型的父项的帖子。四个小时后,我找不到解决方案,需要一些帮助。我创建了一个”About” 页面,它是”Our People” 页面的父级。我还创建了一个名为”People” 的自定义帖子类型。并为”Our People” 页面创建了一个自定义页面模板。固定链接结构看起来很好,直到你到达单个”people” 页面。例如:约翰·史密斯的页面,固定链接是不正确的。

自定义帖子类型:

期望的固定链接结构:/about-us /our-people /john-smith

实际连结结构:/our-people /john-smith

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

“about-us” 是一个页面,”our-people” 是一个页面,也是自定义帖子类型的块重写,”people” 。我试图改变层次结构设置,我已经尝试将”about-us/our-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

最佳解决方案

这应该工作:

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

结合:

'has_archive' => false,

在进行更改以刷新重写规则后,请务必访问管理员中的 「固定链接」 设置页面。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。