Пользовательские страницы архива категорий

Вопрос или проблема

У меня есть установка 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):

Важно отметить несколько аспектов:

  1. Создайте файл шаблона: Убедитесь, что файл category-special.php фактически существует в вашей теме WordPress и содержит необходимую разметку и логику отображения.

  2. Правильные ID категорий: Убедитесь, что используемые ID категорий (31, 40, 55) действительно соответствуют ID ваших категорий. Это можно проверить в административной панели WordPress в разделе управления категориями.

  3. Проверка работы: После внесения изменений в код проверьте отображение архива категорий на вашем сайте. Для этого вы можете зайти на страницы, относящиеся к данным категориям, и убедиться, что используется нужный файл шаблона.

  4. Документация и поддержка: Всегда полезно ознакомиться с документацией WordPress по иерархии шаблонов (Иерархия шаблонов WordPress). Это не только поможет вам понять текущую задачу, но и подготовит к возможным будущим задачам, связанным с изменением шаблонов других видов страниц.

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

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

Капча загружается...