Как сделать на сайте для разных записей свою шапку, сайдбар или подвал

Примечание: Этот текст может содержать некоторые партнерские ссылки, а это значит, что я зарабатываю небольшую комиссию без каких-либо дополнительных затрат с вашей стороны, если вы воспользуетесь этими ссылками. Спасибо за понимание и поддержку.

Шаблонность темы WordPress в большинстве случаев заключается в том, что один и тот же файл заголовка используется практически для всех страниц сайта. Файл header.php, который отвечает за подключение заголовка сайта — один. Практически на 100% страниц WordPress сайта.

В бесплатных темах WordPress это касается также боковых колонок и подвала.

Давайте посмотрим на схему (макет) стандартной страницы сайта.

template

Как сделать, чтобы для определенной Записи или статичной Страницы можно было вывести свой, уникальный заголовок? Или другой Сайдбар? Или подвал?

Можно сделать с помощью небольшого изменения кода в файлах вашей темы WordPress и использования Произвольного поля.

Важно!

Я не советую редактировать рабочий сайт. Лучше экспериментировать на локальном сервере на компьютере или сделать копию сайта на своем поддомене и там пробовать менять код. Если вы новичок — можете поломать работу своего сайта и будете меня винить. А мне это не нужно)

Меняем код в файле single.php

Файл single.php отвечает за вывод одиночной записи на вашем сайте WordPress.

Заголовок в этом файле подключен с помощью небольшой функции: get_header();

Он стоит обычно первым в файле single.php/ Удалите эту функцию и замените ее такой:

<!--?php global $wp_query; $postid = $wp_query->post->ID;<br ?--> $header = get_post_meta($postid, «header», true);
if (!empty($header)) {
get_header($header);
} else {
get_header();
}
wp_reset_query(); ?>

Эта функция определяет уникальный номер вашей Записи, и если такая запись существует и имеет специальное произвольное поле, созданное вами, она подключит другой файл header.php, который вам необходимо создать следующим шагом.

Создаем файл header-header2.php

Важно не перепутать с именем файла.

Скопируйте основной файл header.php. Присвойте ему имя как я написал выше. Измените в этом файле код, который вы хотите, чтобы заголовок отличался от основного файла header.php. Например: в вашем основном заголовке есть код вывода рекламного баннера, а для определенной Записи вы хотите или удалить этот баннер и поставить другой, или вообще отключить баннер для определенной Записи. Причин вывести другой заголовок для определенной Записи может быть много. Я назвал один из них.

Создаем произвольное поле

Теперь в редакторе Записи открываем Произвольное поле и добавляем в него следующие параметры (см. скриншот ниже)

custom_field

Имя произвольного поля — header

Значение — header2

Я думаю, легко понять логику работы новой функции, которую вы добавили в файл single.php

Точно так же можно изменить файл page.php, заменив вызов заголовка get_header(); новой функцией. И у вас будут разные шапки для разных статичных страниц.

Точно также можно заменить вызов боковой колонки — get_sidebar(); или get_footer();

Один вызов подключает сайдбар, другой — подвал. Все довольно просто.

Или не очень? Не получилось?

А спросить в комментариях?

Важно! Эта запись может содержать ссылки на плагины, которые к моменту вашего чтения и скачивания могут работать не корректно. Будьте внимательны.

Добавить комментарий

Ваш email нигде не будет показан. Обязательные поля помечены *