Intereting Posts
Исключить категорию из запроса, который включает его родительскую категорию Отправка на разные отдельные страницы по категориям при наличии нескольких категорий PHP echo внутри javascript Показывать авторов на основе двумерного массива Как отобразить изображение перед первым сообщением цикла, когда я использую get_template_part? Перемещение сообщений на новый сайт и поддержка URL-адресов Запрос: список офсетных сообщений, если только это не определенная категория Добавление внешней таблицы стилей в плагин Возможно ли еще разложить панели внутри панелей в настройке? Получение array_merge (): Аргумент # 2 не является массивом в register_post_type Ошибка register_sidebar при использовании include в функции functions.php Включая только сообщения текущего пользователя в поиске Как я могу изменить внешний вид панели? Добавление класса к родительскому элементу current-post-ancestor / current-menu-parent / current-post-parent Роли и возможности GUI, который не создает отдельную таблицу

Общие рекомендации по обращению к страницам, ориентированным на контент

Я ищу порт для сайта в WordPress, который содержит не только страницу About, но и весь раздел About с различными страницами, в которых указаны конкретные сведения о компании. Каждая из этих страниц различается с точки зрения макета и контента, но ни один из них не может быть описан как изменяемый для настраиваемого типа сообщения. Это происходит главным образом потому, что сайт должен иметь только один экземпляр каждой из этих страниц в любой момент времени.

Поэтому я ищу советы о том, как обращаться с такими страницами. Насколько я знаю, два варианта – это настраиваемые шаблоны и пользовательские типы сообщений, но оба имеют недостатки:

  • пользовательские шаблоны позволят автору создавать страницы и связывать их с соответствующим шаблоном, но я бы хотел добавить дополнительные метабокс для определенных аспектов этих страниц. Но кажется (поправьте меня, если я ошибаюсь) добавление обменов на страницы будет применять их ко всем страницам.
  • пользовательские типы сообщений. Я мог бы определить тип пользовательского сообщения для каждого типа «о странице». Это даст мне мою гибкость метаболизма, но это похоже на «тяжелый» подход. Кроме того, не уверен, что я могу установить родительские / дочерние страницы в CTP?

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

заранее спасибо

Solutions Collecting From Web of "Общие рекомендации по обращению к страницам, ориентированным на контент"

Вопросы «советы по наилучшему подходу» здесь не затрагивают очень хороших вопросов, поскольку они, как правило, довольно широкие и подвержены мнению, но я дам вам несколько вариантов и надеюсь на лучшее.

Опция 1:

Для этого вы должны использовать обычные страницы. Создавайте шаблоны для своего настраиваемого контента так же, как вы рассматриваете в своем первом варианте. Затем вы можете условно добавить метабокс на основе этих вариантов шаблонов.

function conditional_box_loader($post) { $template = (!empty($post->page_template)) ? $post->page_template : 'default'; switch ($template) { case 'template-one.php' : // add metaboxes for this template break; case 'template-two.php' : // add metaboxes for this template break; default : // add fallback boxes, if required. add_meta_box( 'read_only_content_box', // id, used as the html id att __( 'Post Content (Read Only)' ), // meta box title 'read_only_cb', // callback function, spits out the content 'page', // post type or page. This adds to posts only 'advanced', // context, where on the screen 'low' // priority, where should this go in the context ); } } // callback I stole from another answer I wrote earlier today function read_only_cb($post) { echo apply_filters('the_content',$post->post_content); } 

Вариант 2:

Вы можете сделать практически то же самое с CPT, и специальный тип сообщения может оказаться более удобным.

Вариант 3:

Вместо того, чтобы переключаться на основе выбора шаблона, вы можете переключиться на основе заголовка сообщения, идентификатора или создать мета-окно с помощью «главного» переключателя, который позволит вам выбрать мета-поле «set», которое вы хотите включить.

На самом деле, используя плагин Advanced Custom Fields , вы можете добавлять метабокс только к определенному шаблону страницы.