Столкнулся в очередной раз с задачей установки HTTP заголовков (Last-Modified, Expires, 403 Not Modified) для WordPress, однако, разнообразие ранее установленных плагинов интерпретируют по-своему настройку заголовков, что в итоге вызвало ряд конфликтов при их задании. На просторах интернета нашел оптимальный для себя вариант, чем и хочу поделиться.


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


Уверен, что вы не раз сталкивались с проблемой, когда стандартный редактор WordPress удаляет теги в редакторе при переходе с текстового в визуальный режим и обратно. 

Достаточно часто необходимо переключаться между визуальным и HTML режимом, не говоря уже, что заказчику в 90% случаев удобней делать это в визуальном режиме, но при этом иногда есть необходимость вставить специфичную верстку.

После сохранения такой верстки мы можем увидеть, что часть верстки пропала, переносы расположены не так, как надо и результат может расстроить. Благо, через хуки WordPress мы можем передать параметры в TinyMce. 


Все чаще сталкиваюсь с задачами, когда необходимо записать данные из формы в новый пост. Например, функционал вопросов-ответов на сайте, когда строим его на основе «один вопрос/ответ — один пост». 

Можно сделать и на основе комментариев, но для меня достаточно сложным является изменение формы контактов для конкретной страницы + добавить новые поля к постам намного проще, чем к форме комментариев.


В 90% случаев при разработке на WordPress  спасает компонент Advanced Custom Fields. Это компонент динамического добавления полей для разных компонентов WordPress — постов, страниц, настройки темы (только в PRO) и многое другое. 

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

Благо, у компонента ACF есть отличное API, построенное на хуках, чем мы и воспользуемся.