Смена картинок в заголовках рубрик WordPress. Каждой рубрике — своя картинка.

Смена картинок в заголовках рубрик WordPress нужна, если в вашем блоге соседствуют рубрики разных тематик.

Посмотрите на мой блог, на картинки в шапках рубрик «Астрономия» и «Морской аквариум». В одной рубрике звёздное небо с телескопом, а в другой — стайка морских рыб.

Можно выбрать что-то нейтральное для всего блога и не париться, но это скучно и безлико… Если раздел имеет узкую тематическую направленность, то хорошо бы её подчеркнуть.

Копался недолго — нашёл директорию своей темы Graphene, далее в файле header.php нашёл строку номер 56:

Ага, то есть достаточно задать переменной header_img имя файла в зависимости от рубрики и можем показывать в заголовке каждой рубрики свою картинку! Осталось только определить, какой раздел активен…

Ну, это оказалось не так сложно. В админке WordPress заходим в меню «Записи», далее подменю «Рубрики». Видим список рубрик блога. Наводим мышку на ссылку любой рубрики и, не нажимая кнопку,  смотрим вниз, в статусную строку. Видим там примерно такую ссылку:

Конечно, у вас будет другое имя сайта и другие значения. Нам нужна только вот эта часть:

То есть, идентификатор рубрики, на которую мы навели нашу мышку, будет равен цифре «3». Берём листок бумаги и записываем эти значения для каждой рубрики.

Далее возвращаемся в файл header.php и после уже найденной строки вставляем примерно такое:

В общем тут всё прозрачно: если открылась рубрика с ID=2, то мы меняем картинку в шапке на http://info-7.ru/blog/wp-content/uploads/2013/06/31.jpg и так далее для всех.

Эту строчку можно не писать, она выводит номер рубрики перед шапкой при отладке:

Обратите внимание, что все эти строчки лежат внутри проверки на то, что сейчас открыта не главная страница блога:

Иначе, если обращаться к главной странице блога, то оказывается, что ID рубрики равен ID той рубрики в которую была добавлена последняя статья. То есть, при добавлении новой рубрики, картинка в заголовке, то есть в шапке главной страницы блога изменится на картинку последней пополненной рубрики. Где засела эта ошибка я не знаю — то ли в WordPress, то ли в теме Graphene. Ну, не важно, главное, что всё работает так как надо.

Одно плохо — пришлось лезть в исходный код темы. То есть, при обновлении темы эта вставка скорее всего исчезнет… ну ничего, останется эта запись в блоге, а значит я найду что и как надо исправить. Да и не собираюсь я пока ничего обновлять. Золотое правило сисадмина: «Работает? Не трогай!» 😉

1 комментарий

  1. Со временем обнаружилась неприятность: WordPress всё-же не всегда верно определяет ID открываемой рубрики. Кривая в нём эта функция…
    Например, если последняя добавленная статья принадлежит двум разным рубрикам, то при входе в одну их этих рубрик выдаётся ID той рубрики, у которой ID меньше. Я могу описать эту чехарду подробнее, но времени жаль на это непотребство…
    Пока забил на этот глюк, поскольку у меня пересекаются только «Садоводство» и «Здоровье», а для них оказалось несложно подобрать одну общую картинку.
    Если кто отыщет способ борьбы — напишите.

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

Ваш адрес электронной почты не будет опубликован.