Я создаю тему с настраиваемым типом сообщений для членов команды, у меня также есть следующая структура страницы:
about <-- this is a page
about/team-members <-- this is a page, lists all the team members
about/team-members/joe-bloggs <-- this is a custom post type (team member) entry
В третьей структуре здесь используются страницы «О нас» и «Члены команды», но далее используется слаг пользовательского типа записи, чтобы он выглядел так, как будто его родители являются членами команды и о них. Я добился этого, установив следующие параметры для пользовательского типа сообщения:
...
'rewrite' => array( 'slug' => 'about/team-members', 'with_front' => false)
...
Это прекрасно работает, однако, когда я перехожу на уровень сообщения члена команды, я больше не получаю классы текущей страницы, текущего предка на родительских страницах. Я знаю, почему это так, потому что технически мы не на странице, родительской для этих страниц, однако есть ли способ, которым я могу обмануть / исправить / обмануть, чтобы страницы ДЕЙСТВИТЕЛЬНО отображались как родительские?
Я прекрасно добился этого, используя страницы для членов команды, однако вместо этого был выбран настраиваемый тип сообщений для удобства использования администратором.
Спасибо ребята+девочки!
вам нужно установить идентификатор страницы членов команды в качестве вашего пользовательского типа сообщения post_parent.
Я не вижу такой опции в
register_post_type
документации, не могли бы вы помочь?Правильно, поэтому я вижу, как этот «дурачок» WordPress думает, что конкретная страница является его родителем, однако он не добавляет родительский класс страницы к родительской странице, когда я
wp_list_pages
.Я заметил, что это также портит мою структуру slug/permalink… :S
я пытаюсь добиться того же, что и Бен, но я использую
wp_nav_menu
— post_parent — это about/team-members, но навигация выделяет родительский элемент моих «обычных» сообщений в блоге… есть другие идеи, как я могу это исправить?@BenEverard: Вы нашли решение беспорядка в структуре постоянных ссылок?
При работе со страницами вы можете выбрать родительскую страницу, и это значение будет сохранено как идентификационный номер родительской страницы в поле дочерней страницы
post_parent
в базе данных.В вашем случае вы используете настраиваемый тип записи, поэтому вам нужно будет создать собственный метабокс для родительской страницы; что-то типа:
Это не имеет ничего общего с
register_post_type
. Вы обманываете WordPress, заставляя думать, что это дочерняя страница другого типа записи (страницы).