Поддержка Проблемы и решения Каталог на базе рубрик

  • Доброго времени суток. 4 дня пытаюсь реализовать такую штуку. Может подскажете пожалуйста.
    Возможно плагин или же скрипт или материал, где искать и что капать.

    Суть такова…

    У меня есть сайт. Мне нужно, чтобы на нем за счет категорий выводились посты т.е.

    Например, есть категория Apple Samsung и т.д.
    Выглядит так. Картинка и под ней название категории.

    Жму например на категорию Apple и все рубрики верхнего уровня пропадают. И показываются все, которые внутри Apple. Например, iMac, iPhone, iPad. И так же. Выбираю, к примеру iPhone и мне показываются рубрики 3-го уровня и скрываются все, что выше 1 и 2..
    Перед нами остается выбор между iPhone 3, 3gs, 4, 4s и т.д. И по нажатию на любой из них уже высвечивает статьи, которые находятся в этой рубрике и тоже пропадают категории..

    Перерыл много материала и все не то. Зачастую все категории сразу высвечивают, а если и нет, то по клику на тот же Apple показывает сразу статьи, игнорируя то, что там еще 2 и 3 уровень вложенности есть.

    Конечно можно все это реализовать в ручную, но хочу так, чтобы автоматически через создание постов и рубрик можно было бы создать такой каталог. Плагины многие перепробовал, все не то.

    Подскажите пожалуйста. Спасибо 🙂

Просмотр 15 ответов — с 1 по 15 (всего 38)
  • Модератор Yuri

    (@yube)

    Выглядит так.

    Если речь заходит о «выглядит», то 90%, что это имеет отношение к Теме, а не плагину.

    Жму например на категорию Apple и все рубрики верхнего уровня пропадают.

    Если я правильно понял, Вы хотите, чтобы при заходе в рубрику, если у нее есть дочерние рубрики, выводился их список, а не список записей. Это можно сделать в шаблоне category.php с использованием функции wp_list_categories и ее параметра child_of. Матчасть тут: https://developer.wordpress.org/reference/functions/wp_list_categories/

    Прим. Чтобы при обновлении Темы не терялись внесенные изменения, следует использовать механизм дочерних тем. Матчасть тут: https://codex.wordpress.org/%D0%94%D0%BE%D1%87%D0%B5%D1%80%D0%BD%D0%B8%D0%B5_%D1%82%D0%B5%D0%BC%D1%8B

    Мне нужно, чтобы на нем за счет категорий выводились посты т.е.

    Что мешает не «за счёт», а использовать именно посты?

    Они выводятся сразу же. А мне нужно только по выбору окончательной категории… Т.е. по моему примеру iPhone 4 к примеру. А получается, что нажимаю на Apple и уже выводится посты из этой рубрики

    Они выводятся сразу же.

    Кто?
    Внятно излагайте задачу.

    А получается, что нажимаю на Apple и уже выводится посты из этой рубрики

    Вы не хотите выводить контент из подрубрик что ли?

    • Ответ изменён 6 лет, 6 месяцев назад пользователем SeVlad.

    Вроде внятно написал. Но напишу еще раз. Захожу на страницу, к примеру каталог..
    В ней есть только рубрики, больше ничего. Я захожу в подрубрику, то рубрики пропадают и я вижу только подрубрики той, в которую я захел. «СТАТЬИ НЕ ОТОБРАЖАЮТСЯ»… Они появится должны когда я выберу самую последнюю подрубрику. И в пригципе ВСЕ рубрики не отображаются и только статьи. Пытаюсь ковырять, я как минимум не могу реализовать так, чтобы рубрики пропадали верхнего уровня, чем дальше я углубляюсь в подрубрики.

    Проверяйте на наличие дочерних категорий

    
    <?php
    $args=array(
      'parent' => get_query_var('cat'),
      );
    $par_r   = get_categories($args);
    if(!($par_r)) {
    
    //тут цикл вывода постов
       
    } ?>

    Сколько скриптов не пробовал и тем более этот. Тупо страница не отображается полностью… Ошибка какая-то

    Модератор Yuri

    (@yube)

    Ошибка какая-то

    Какая именно?

    То, что вы присылали ссылки, там тоже ничего не помогло и парень чуть выше прислал код. Я вставляю и как не пробую, тупо не работает Вообще. Даже не выводит категории

    елы палы,я ж для примера

    
    <?php
    $args=array(
      'parent' => get_query_var('cat'),
      );
    $par_r   = get_categories($args);
    if(!($par_r)): ?>
    
    это будет последняя дочерняя(сюда поместить весь код вывода постов)
    <?php endif;  ?>

    Вывод дочерних категорий

    <?php
    $args=array(
      'parent' => get_query_var('cat'),
      );
    $par_r   = get_categories($args);
    foreach ($par_r as $par_rr):
    
    echo '<a href="'.get_category_link($par_rr->cat_ID).'">'.$par_rr->name.'</a>';
    
    endforeach; ?>

    Последний скрипт бесполезен. Он выводит все категории. А надо, чтобы 2.3…. уровней скрыты были и начнут быть видны при нажатии на 1 уровня… Вот так. А получается, что я нажимаю на главную рубрику и показывает сразу все посты… А предпоследний не работает. Страница не найдена пишет

    Вы куда-то не туда все вставляете и при чем тут страница не найдена?

    В принципе разобрался. Я поставил 1 код в индексный файл и он высветил список всех рубрик. Только вот о чем я и писал, что нужно, чтобы все поэтапно было. Рубрики у меня так выглядят (Apple -> Телефон -> iPhone 6s) а надо, чтоб для начала светился Apple, по нажатию, покажет Телефон и т.д. Но сейчас видно их все и при этом по нажатию на все кроме iPhone 6s открывается пустая страница, а вот iPhone 6s — показывает пост

    вы в шаблон категории все это вставляете или куда?

    Последний скрипт бесполезен.

    Правильно если его на главной подключить, то в get_query_var(‘cat’), ничего не передается, по этому выводятся все категории

Просмотр 15 ответов — с 1 по 15 (всего 38)
  • Тема «Каталог на базе рубрик» закрыта для новых ответов.