Вопрос или проблема
У меня есть установка WP с 6 категориями, и я хочу, чтобы 3 из них использовали индивидуальную страницу архива категорий под названием “category-special.php” (страница по умолчанию — “category.php”). Я нашел код ниже, который, кажется, близок к моему запросу. Как я могу изменить его и заставить работать для меня, чтобы категории 31, 40 и 55 загружали указанную выше специальную страницу?
add_filter( 'template_include', 'wpsites_photo_page_template', 99 );
function wpsites_photo_page_template( $template ) {
if ( is_category('33') ) {
$new_template = locate_template( array( 'photo.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
Спасибо.
вы можете использовать имя файла category-slug.php, если хотите иметь индивидуальную страницу для каждой категории
https://codex.wordpress.org/Category_Templates здесь есть ссылка, которая может помочь вам.
попробуйте код ниже:
add_filter( 'template_include', 'wpsites_photo_page_template', 99 );
function wpsites_photo_page_template( $template ) {
if ( is_category('31') || is_category('40') || is_category('55') ) {
$new_template = locate_template( array( 'photo.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
Ответ или решение
Вопрос о необходимости создания пользовательских архивных страниц категорий в WordPress весьма актуален для многих разработчиков и администраторов сайтов, желающих более тонко настроить отображение своей платформы. Рассмотрим, как можно реализовать такую функциональность, используя WordPress и предоставленный код.
Теория (Theory):
Когда речь идет о кастомизации шаблонов в WordPress, система предоставляет несколько уровней иерархии шаблонов, которые могут быть использованы для изменения отображения страниц в зависимости от их типа, категории, меток и других параметров. Иерархия шаблонов WordPress позволяет нам настраивать различные виды страниц, включая страницы архивов категорий. В вашем случае, «category-special.php» должен использоваться для некоторых категорий, а стандартный шаблон «category.php» — для всех остальных.
Функция template_include
является мощным инструментом в WordPress для выбора определенного шаблона на основе конкретных условий. Фильтр template_include
позволяет вмешиваться в поток загрузки шаблона и подменять его на другой при выполнении заданных условий. Это отличный способ для применения индивидуального дизайна на уровне категории, не затрагивая стандартные шаблоны остальных категорий.
Пример (Example):
В вашем примере используется следующее решение:
add_filter( 'template_include', 'wpsites_photo_page_template', 99 );
function wpsites_photo_page_template( $template ) {
if ( is_category('31') || is_category('40') || is_category('55') ) {
$new_template = locate_template( array( 'category-special.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
В этом коде мы добавляем фильтр к выбранному шаблону через функцию template_include
. Далее, создаем функцию wpsites_photo_page_template
, которая определяет, следует ли изменять шаблон для указанных категорий (31, 40 и 55). Если проверка на текущую категорию успешна (is_category()
возвращает true
), функция locate_template()
пытается найти и загрузить шаблон category-special.php
. Если такой файл найден, он заменяет собой текущий используемый шаблон.
Применение (Application):
Важно отметить несколько аспектов:
-
Создайте файл шаблона: Убедитесь, что файл
category-special.php
фактически существует в вашей теме WordPress и содержит необходимую разметку и логику отображения. -
Правильные ID категорий: Убедитесь, что используемые ID категорий (31, 40, 55) действительно соответствуют ID ваших категорий. Это можно проверить в административной панели WordPress в разделе управления категориями.
-
Проверка работы: После внесения изменений в код проверьте отображение архива категорий на вашем сайте. Для этого вы можете зайти на страницы, относящиеся к данным категориям, и убедиться, что используется нужный файл шаблона.
-
Документация и поддержка: Всегда полезно ознакомиться с документацией WordPress по иерархии шаблонов (Иерархия шаблонов WordPress). Это не только поможет вам понять текущую задачу, но и подготовит к возможным будущим задачам, связанным с изменением шаблонов других видов страниц.
Следуя этим рекомендациям, можно эффективно настроить отображение категорий на вашем сайте, обеспечивая пользователю максимально интерактивный и адаптированный опыт. Не забывайте тестировать изменения для всех целевых категорий, чтобы гарантировать корректность отображения и отсутствие ошибок. Таким образом, процесс кастомизации становится не только творческим, но и технологически точным, соответствуя высоким стандартам разработки.