WordPress - query_posts против pre_get_posts.
Опубликовано: 07.09.2017
Небольшое вступление
Сегодня я продолжаю изучать тонкости API WordPress. Приступим к делу. Итак, помимо всеми используемой функции query_posts существует также возможность корректировать выборку записей на уровне фильтров. Имя такому крючку дано соответствующее pre_get_posts.
Пример кода установки фильтра
В качестве демонстрации исключим вывод записей из трех заданных рубрик с главной страницы нашего вордпрессного бложика.
<?php add_filter ( 'pre_get_posts' , 'hideCategory' ) ; function hideCategory ( $variable ) { if ( $variable -> is_home ) { $variable -> set ( 'cat' , '-32,-3,-100' ) ; } return $variable ; } ?>...На остальных страницах (архивы, результаты поиска) все будет работать в обычном режиме.
Краткие пояснения
Подобный код не будет работать для прикрепленных записей (is_sticky), но он прекрасно учтет все записи, принадлежащие дочерней рубрики относительно исключаемой родительской.Вешаем хук на то, что я уже упомянул выше, функцией hideCategory, где 32, 3 и 100 - это идентификаторы рубрик. Записаны они со знака минус, т.к. именно их и требуется исключить. Использовать, как обычно в «functions.php».
Курсы обмена валют ЦБ РФ
Сегодня | Завтра | ||
USD | 32.62 | 32.50 | |
EUR | 39.90 | 39.92 |
Новости
Виджет для Opera
ТОП-5 обменников
Обменник | Переходов |
Wmchanger | 6 |
E-Market | 5 |
WMtoCash.com | 4 |
Str-Money | 3 |
Hot-Change | 3 |
Наш бонус WebMoney
Получить бонус
Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки | |
Кошелек
|
|
Код
|
|
Обмен Webmoney |