Сьогодні зіштовхнувся з потребою прибрати пости певної категорії з головної сторінки сайту на ВордПресі. Пошукавши в інтернетах, знайшов невеличкий код, який цю функцію і реалізує. Код працює за принципом фільтру — прибирає пости вказаних категорій з головної сторінки.
function exclude_category($query) {
if ( $query->is_feed or $query->is_home ) {
$query->set(‘category__not_in’, array(1, 2, 3));
}
return $query;
}
add_filter(‘pre_get_posts’, ‘exclude_category’);
Наприклад, приведений вище код, прибирає всі пости, що знаходяться в категоріях з ідентифікаторами 1, 2, 3, як з головної сторінки, так і з rss потоку. Якщо вам потрібно щось одне — просто приберіть відповідну перевірку (is_feed чи is_home).
Для того, щоб визначити ідентифікатор категорії необхідно перейти в розділ категорій в адмінці, вибрати зміну параметрів необхідної категорії і в адресному рядку знайти текст tag_ID=XX, власне XX — це і є ідентифікатор категорії, котрий і необхідно вписати у фільтр.
Код фільтру слід вписувати у файл functions.php вашого шаблону.
Влад Циганик
Дивіться також
2 Comments
Залишити відповідь Скасувати відповідь
Меню категорій
- (не) Дизайн (8)
- Business (4)
- Design (3)
- Guide (1)
- Думи мої… (53)
- Звідусіль (98)
- Інтернети (16)
- Рідна мова (19)
- Шлях до успіху (8)
в мене був плагін, який робив те саме – вирішив його замінити на пропонований вище код, і цей код не спрацював.
Спрацював такий варіант:
function removeFromHome($query) {
if ($query->is_home)
{$query->set(‘cat’,’-10′);}
return $query; }
add_filter(‘pre_get_posts’,’removeFromHome’);
де 10 – айді категорії
Я не сильно глибоко гуглив.
Спробував перше, що попалося і воно запрацювало 🙂