Intereting Posts
Могу ли я представить плагин, который следует руководству стиля кодирования PSR-2? Применить пользовательский статус заказа WooCommerce на основе роли пользователя передавать параметры через переменную в WP_QUERY Добавить кнопку таблицы в редакторе без плагина Вставка настраиваемых полей в пользовательский тип сообщения Пользовательский короткий код регистрации пользователя – проблема с заголовком перенаправления Избегать дублирования имен функций в столбце Post (сценарий WP_Footer) Отображать персонализированный пост на главной странице на основе выбора метабокса Изменить постоянную ссылку типа персонализированного сообщения, чтобы отображать имя сообщения из другого настраиваемого типа сообщений? Как я могу отредактировать электронную почту, отправленную при получении нового комментария? Отобразите произвольную выдержку customposttype2 в single-custompostype1.php, которая разделяет ту же таксономию Пользовательское правило перезаписи не работает Как отобразить уведомление об ошибке администратора, если настройки сохранены успешно? Как добавить параметр отношения к моему запросу фильтра? Добавление the_content () в настраиваемом шаблоне электронной почты

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

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

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

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

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

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

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

Опция 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 , вы можете добавлять метабокс только к определенному шаблону страницы.