Поддержка Проблемы и решения И снова о рубриках и подрубриках

  • Решено 1596754as98

    (@adminstrelok)


    Знаю, что подобный вопрос уже обсуждали, но не не могу найти где. Суть проблемы:

    Есть рубрика, например «Основная». У неё есть две дочерние рубрики «Первая» и «Вторая».

    Все записи на моем сайте принадлежат только рубрике или одной из её дочерних рубрик. При просмотре сайта на странице рубрики «Основная» показываются и записи её дочерних рубрик.

    Вопрос: Как исключить записи дочерних рубрик со страницы материнской рубрики? (Желательно без плагина)

Просмотр 15 ответов — с 1 по 15 (всего 20)
  • Пытаюсь сам решить проблему. Я очень близок к её решению. Как говорится «Уже теплее» :)))

    function exclude_category($query) {
     if ($query->is_category){
     $query->set('cat','-ID КАТЕГОРИИ, -ID КАТЕГОРИИ');}
     return $query; }
    add_filter('pre_get_posts','exclude_category')

    Такой фрагмент кода в functions.php удаляет дочерние категории со страницы материнской категории. Но тогда записи исчезают и со страниц дочерних категорий……

    Что и как нужно изменить в этом коде, чтобы дочерние категории убрать со страницы материнской категории, (что у меня уже получилось), но оставить их на страницах своих, дочерних категорий?

    Как исключить записи дочерних рубрик со страницы материнской рубрики? (Желательно без плагина)

    include_children

    Модератор Юрий

    (@yube)

    Когда надоест изобретать велосипед 😉 можете посмотреть заметку http://blog.portal.kharkov.ua/2011/08/31/in_cat_only/

    http://blog.portal.kharkov.ua/2011/08/31/in_cat_only/

    Юрий спасибо, но это немного не о том. Меня интересует НЕ вывод на главной записей из определенных рубрик. Или наоборот — иключение с главной записей определенных рубрик\подрубрик. (Это и правда уже давно решено) А меня интересует исключение со страницы рубрики (или архива рубрики)записей её дочерних рубрик . Но записи и материнской и её дочерних рубрик должны оставаться на главной.

    include_children

    Это изучаю Спасибо.

    Модератор Юрий

    (@yube)

    но это немного не о том.

    Вы, простите, по ссылке ходили? Там русским по белому написано

    Вывод постов только из текущей категории

    В новых версиях wordpress для вывода списка постов только из текущей категории, без дочерних, можно использовать следующий код:

    Про плагин выбора рубрик для главной написано совсем в другой заметке.

    Я понял так, что идет речь о выводе

    списка постов только из текущей категории, без дочерних

    на главной странице. А не на странице АРХИВА РУБРИКИ

    Модератор Юрий

    (@yube)

    на главной странице. А не на странице АРХИВА РУБРИКИ

    Хорошо, пусть персонально для Вас будет именно так, невзирая на явно указанное условие $query->is_category(). Мне не жалко.

    Ну что тут поделаешь..?.. Туповат…. (Я) :)))
    Спасибо еще раз. Вечером буду пробовать.

    Модератор Юрий

    (@yube)

    «Нет уж, нет уж. Умерла так умерла.»(с) 🙂

    Юрию и Сергею Бирюкову в очередной раз огромное спасибо за решение проблемы!

    function no_children( $query ) {
        if ( ! is_admin() && $query->is_main_query() && $query->is_category() )
            $query->set( 'category__in', array( get_queried_object_id() ) );
    }
    add_action( 'pre_get_posts', 'no_children' );

    Этот код, добавленный в в functions.php решил поставленную задачу! То есть исключил со страницы рубрики записи, принадлежащие её дочерним рубрикам.

    Я даже плагин на эту тему соорудил! Работает на все 100%
    Пользуйтесь, если кому надо решить подобную проблему
    Скачать плагин

    Модератор Юрий

    (@yube)

    Я даже плагин на эту тему соорудил!

    И все-таки Вы изобретатель велосипедов! 🙂

    изобретатель велосипедов!

    В этом есть своя прелесть!

    Модератор Юрий

    (@yube)

    А то! Мне ли не знать 🙂

    Я даже плагин на эту тему соорудил!

    Это оказалось проще, чем скачать готовый?!!
    Однако 🙂

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