Intereting Posts
Показывать отрывок, если в заголовке администратора нет заголовка Редактирование виджета и добавление на любую страницу Обновление содержимого сайта после вызова AJAX без перезагрузки страницы пользовательская страница входа в систему перенаправляется на вход в страницу профиля пользователя Howto показать количество комментариев по почте в сообщении? Сохранение комментария Meta как массив другая таблица стилей только для одного шаблона страницы Как получить идентификатор сообщения типа post из пули? Создайте single.php для определенного тега по идентификатору тега или имени Время публикации публикации / публикации не достаточно точное Передача значения JQuery для функции WordPress Многократный налоговый запрос с мета-ключом Как добавить идентификатор и класс в навигационный навигатор? Пользовательская кнопка «Вставить в сообщение» Вычисления в functions.php

Пользовательский шаблон страницы для нескольких страниц

Сайт, на котором я сейчас работаю, имеет структуру страницы, подобную этой

About Us | |_People | | | _ Person 1 | _ Person 2 | _ Person 3 |... etc ... 

Каждая страница «Человек» представляет собой отдельную страницу, но все они имеют одинаковую структуру, используя несколько полей ACF для отображения биографии человека, фотографии и т. Д.

Я знаю, как создать настраиваемый шаблон страницы для одной конкретной страницы, то есть page- slug .php, но я хочу использовать один шаблон страницы для всех этих подстраниц.

Что было бы самым простым способом добиться этого?

Вы всегда можете использовать фильтр page_template чтобы сообщить WordPress использовать шаблон конкретной страницы для всех дочерних страниц определенного родителя. Это так же просто, как создание специального шаблона страницы, позволяет называть его page-wpse-person.php .

Теперь это так же просто, как включение этого шаблона всякий раз, когда просматривается дочерняя страница people . Например, допустим, что идентификатор страницы – 10

 add_filter( 'page_template', function ( $template ) use ( &$post ) { // Check if we have page which is a child of people, ID 10 if ( 10 !== $post->post_parent ) return $template; // This is a person page, child of people, try to locate our custom page $locate_template = locate_template( 'page-wpse-person.php' ); // Check if our template was found, if not, bail if ( !$locate_template ) return $template; return $locate_template; }); 

Самый простой способ – создать персонализированный персонализированный тип сообщения , в который будут включены настраиваемые поля. Иерархия шаблонов WordPress гарантирует, что для этих сообщений используется шаблон single-person.php .