Может ли у произвольного типа записи быть родительская страница?
Я видел много постов в интернете о назначении страницы как родительской для произвольного типа записи. После четырех часов поисков я не могу найти решение и нуждаюсь в помощи. Я создал страницу "О нас", которая является родительской для страницы "Наши люди". Я также создал произвольный тип записи "Люди" и пользовательский шаблон страницы для "Наши люди". Структура постоянных ссылок выглядит нормально до тех пор, пока вы не перейдете на отдельную страницу "люди". Например: для страницы Джона Смита постоянная ссылка неправильная.
Произвольный тип записи:
Желаемая структура постоянных ссылок: /about-us/our-people/john-smith
Фактическая структура постоянных ссылок: /our-people/john-smith
Структура страницы "Наши люди": /about-us/our-people
"about-us" - это страница, "our-people" - это страница и также slug для перезаписи произвольного типа записи "people". Я пытался изменить иерархические настройки и пробовал добавлять "about-us/our-people" напрямую в перезапись, но безуспешно.
Functions.php:
function codex_custom_init() {
// Наши люди
$people_label = array(
'name' => 'Люди',
'singular_name' => 'Люди',
'add_new' => 'Добавить человека',
'add_new_item' => 'Добавить нового человека',
'edit_item' => 'Редактировать запись',
'new_item' => 'Новая запись',
'all_items' => 'Все записи',
'view_item' => 'Просмотреть запись',
'search_items' => 'Поиск записей',
'not_found' => 'Записи не найдены',
'not_found_in_trash' => 'В корзине записей не найдено',
'parent_item_colon' => '',
'menu_name' => 'Люди',
);
$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
Вау, я не понимаю, почему у меня были такие трудности с этим. Спасибо.

Для тех, кто просто пытается назначить родительскую страницу для CPT (пользовательского типа записи), не отключая архивы, стоит отметить, что для параметра 'has_archive' можно также передать строку с slug архива.

Также стоит учитывать, что это не добавит 'about-us' в хлебные крошки (breadcrumbs) плагинов, таких как Yoast.
