• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Как вывести разные messages для пустых категорий?

typus

Мой дом здесь!
Регистрация
25 Июл 2007
Сообщения
895
Реакции
241
WP 5.9.2, тема дочерняя от Twenty Twenty-Two.
На нескольких страницах выводятся категории, и если в категории published постов нет, то надо в зависимости от категории вывести соответствующий текст, свой для каждой категории. Категории не woocommerce, простые категории постов.
Всего нужно для 3 конкретных категорий такое выводить. Сейчас, если постов нет, вообще никакие сообщения не выводятся.
Можно конечно JS сделать, но правильнее на стороне бакенда. Или может плагин какой есть?
Я так понимаю, мне нужно что-то вроде где реализован цикл вывода постов после <?php if ( have_posts() ) : ?> добавить else, в котором в зависимости от id категории выводить разный текст.
Но тут проблема - я вообще не вижу где это реализовано в Twenty Twenty-Two - тема сильно отличается от предыдущих.
 
PHP:
<?php if (in_category('1') { ?>
        <?php if ( have_posts() ) : ?>


            <?php
            while ( have_posts() ) :
                the_post();

                get_template_part( 'template-parts/content', 'shablon_contenta' );

            endwhile;

            the_posts_navigation();

        else :

            get_template_part( 'template-parts/content', 'shablon_bez_contenta_category_1' );

        endif;
        ?>
<?php } elseif (in_category('2')) { ?>
        <?php if ( have_posts() ) : ?>


            <?php
            while ( have_posts() ) :
                the_post();

                get_template_part( 'template-parts/content', 'shablon_contenta' );

            endwhile;

            the_posts_navigation();

        else :

            get_template_part( 'template-parts/content', 'shablon_bez_contenta_category_2' );

        endif;
        ?>
<?php } else { ?>
        <?php if ( have_posts() ) : ?>


            <?php
            while ( have_posts() ) :
                the_post();

                get_template_part( 'template-parts/content', 'shablon_contenta' );

            endwhile;

            the_posts_navigation();

        else :

            get_template_part( 'template-parts/content', 'shablon_bez_contenta_category_3' );

        endif;
        ?>
<?php } ?>

в корне шаблона создайте папку "template-parts" а в ней файлы для каждой категории, с сообщениями об отсутствии постов с именами content-shablon_bez_contenta_category_1.php, content-shablon_bez_contenta_category_2.php, content-shablon_bez_contenta_category_3.php

shablon_contenta - можно заменить на файлик с циклом, который у вас выводит контент, или так же создать в папке "template-parts", файл content-shablon_contenta.php, который будет выводить контент для всех трех категорий

в (in_category('1'), (in_category('2'),- заменить цифры на id категорий.

upd

темка Twenty Twenty-Two действительно - адок, там нет иерархии шаблонов как на обычных темах WP, но если верить плагину Query Monitor, то можно руками добавить файл вывода категории в папку темы

Для просмотра ссылки Войди или Зарегистрируйся (у меня тут шаблоны, которые используются при выводе страницы)

но это не точно, надо пробовать...
 
Последнее редактирование:
Назад
Сверху