Вордпресс; Отображение другого шаблона контента в зависимости от категории

Я хочу взять базовый цикл WordPress и в том месте, где он вызывает шаблон контента, я хочу запустить оператор if else, который извлекает другую часть шаблона в зависимости от категории. Я знаю, что могу сделать кучу копий archive.php, но зачем делать это для каждой отдельной категории, которую вы хотите использовать?

Итак, я попробовал этот код, но он просто вытаскивал шаблон архива в каждом случае:

while ( have_posts() ) :
            the_post();

        if ( is_category( 'my-category-slug' )) {
            get_template_part( 'template-parts/content', 'single' );
        } else {
            get_template_part( 'template-parts/content', 'archive' );
        }

endwhile;

Итак, могу ли я даже запустить такой оператор if else в цикле?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
132
1

Ответы 1

Wordpress имеет иерархия шаблонов, вам нужно убедиться, что ваш код находится в правильном файле php. Проверьте эта ссылка. В вашем случае вам нужно изменить category.php, вы можете использовать для этого archive.php, если вы удалите все файлы category*.php.

В этой теме нет файла category.php. Только архив.php. Это в правильном файле.

Adam Bell 18.02.2019 04:06

если он выполняется, и вы каждый раз получаете только «template-parts/content-archive.php» и никогда не имеете «template-parts/content-single.php», не означает ли это, что у вас нет архивных страниц с слаг категории "my-category-slug"? или вы не зацикливаете хорошие результаты (возможно, не используете WP_Query с аргументами)?

Aness 19.02.2019 11:18

Другие вопросы по теме