Поддержка Проблемы и решения Скрыть рубрику на главной странице

  • Изучил эту инструкцию ЧАВО/Как исключить рубрику

    Перенес файл index.php в дочернюю тему, отредактировал. Нет эффекта. Отредактировал его в родительской теме, тоже безрезультатно. Что делаю не так?

    Файл выглядит так

    
    <?php get_header();
    
    get_template_part( 'content/archive-header' );
    
    ?>
    <div id="loop-container" class="loop-container">
    	<?php
    query_posts($query_string .'&cat=-1'); if ( have_posts() ) :  while ( have_posts() ) : the_post();
    			ct_apex_get_content_template();
    		endwhile;
    	endif;
    	?>
    </div>
    <?php
    
    the_posts_pagination( array(
    	'prev_text' => __( 'Previous', 'apex' ),
    	'next_text' => __( 'Next', 'apex' )
    ) );
    
    get_footer();
    

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

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

    (@yube)

    Изучил эту инструкцию ЧАВО/Как исключить рубрику

    Там же написано:

    Это старый, простой, проверенный метод. Однако, не лучший. Правильнее делать с использованием API.

    Вот тут готовый рецепт:
    https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts#Exclude_categories_on_your_main_page

    Модератор Yuri

    (@yube)

    По такому случаю актуализировал FAQ.

    Спасибо. Но чет тоже не работает.

    Вернул все как было в index.php

    По новой инструкции изменил functions.php в дочерней теме

    Добавил код:

    
    function exclude_category ($ query) {
        if ($ query-> is_home () && $ query-> is_main_query ()) {
            $ query-> set ('cat', '-1');
        }
    }
    add_action ('pre_get_posts', 'exclude_category');
    

    Выдает HTTP ERROR 500

    Модератор Yuri

    (@yube)

    function exclude_category ($ query)
    А на кой ляд, простите, Вы напихали в код пробелов, в т.ч. и после $? Разве в примерах там есть пробелы?

    По такому случаю актуализировал FAQ.

    Я за то, чтобы убрать оттуда «старый, но тем не менее все еще работоспособный метод» с query_posts.

    Модератор Yuri

    (@yube)

    убрать оттуда «старый

    И то верно. Вдруг кто-то читает не первый абзац-два, как делает большинство, а последние 🙂

    Вдруг кто-то читает не первый абзац-два, как делает большинство, а последние

    Первый выглядит страшнее, а в «старом» меньше ж буков 🙂

    Заработало )

    Заново скопировал код — исчезла ошибка HTTP ERROR 500.

    Но рубрика все равно выводилась. Тогда я догадался погулить «как посмотреть id рубрики», и с удивлением обнаружил что мои пять рубрик имеют id не 1, 2, 3, 4, 5 а 53, 5, 104, 95 и 7.

    Спасибо за помощь и хорошего дня! )

    P.S. Так что в инструкцию можно добавить инфу как посмотреть id рубрики )

    • Ответ изменён 5 лет, 7 месяцев назад пользователем Vendigo.
    Модератор Yuri

    (@yube)

    P.S. Так что в инструкцию можно добавить инфу как посмотреть id рубрики )

    Это FAQ, а не букварь 🙂

    как посмотреть id рубрики

    Самый лучший способ увидеть и если надо скопировать ld рубрик и всех других составляющих WP — плагин https://ru.wordpress.org/plugins/reveal-ids-for-wp-admin-25/ Лично я использую его с тех пор как от показа ld отказались в одной из самых первых версий WP (до сих пор не могу понять кому и почему помешал вывод этих ID) и лучшего способа увидеть id не знаю. А «мышиная возня» и просмотр id в строке состояния браузера это детский лепет и костыль.

    и лучшего способа увидеть id не знаю

    https://wordpress.org/plugins/codepress-admin-columns/ позволяет вывести не только это.
    И я уже не представляю разработку без него (во всяком случае до тех пор пока не надоест настраивать одно и тоже на всех сайтах и я не напишу свой плагин с уже настроенными как мне надо колонками :))

    Модератор Yuri

    (@yube)

    А я себе на одном сайте, когда надо было постоянно узнавать id, сделал вот так

    screenshot

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «Скрыть рубрику на главной странице» закрыта для новых ответов.