Доброго времени суток, друзья! Я вот недавно при верстке очередного макета для WP столкнулся c одной задачей, мне нужно было исключить одну рубрику с показа на Главной странице сайта.
Не знаю, как Вы, но я не знал, как решить данную задачу, а оказалось все очень просто!) Сейчас опишу, что нужно сделать)
И так, открываем файл function.php Вашей темы и вставляем туда следующий код:
function removeFromHome($query) { if ($query->is_home) {$query->set('cat','-1');} return $query; } add_filter('pre_get_posts','removeFromHome');
обратите внимание на:
{$query->set('cat','-1');}
где "1" - ID категории.
Если Вам нужно исключить несколько рубрик, то просто перечислите ID-ники через запятую:
function removeFromHome($query) { if ($query->is_home) {$query->set('cat','-1,-2,-7,-15,-30');} return $query; } add_filter('pre_get_posts','removeFromHome');
Если Вы используете "Постоянные ссылки (ЧПУ)" и все Ваши категории и ссылки преобразованы в текстовом формате, то узнать ID очень просто! В админке заходите в раздел "Записи" > "Рубрики", перед Вами появляется список всех Ваших рубрик, выбираете нужную рубрику, жмете "Редактировать", далее открывается страничка для редактирования и в адресной строке браузера в самом конце ссылки будет, к примеру, такой текст: "cat_ID=1", где "1" это и есть ID категории, которая Вас интересует
Вот так, все просто!)
Надеюсь сей пост Вам пригодится в будущем!)
Си ю лейта!
И эта тема в струю!
) еще раз спасибо, полезное дело делаешь
))
А вот такой вопрос – как выстроить эти категории в определенном порядке? а то они строятся по алфавиту и это не есть всегда хорошо.
Нужно применить параметр “orderby”. Долго расписывать не буду, дам ссылку на Кодекс ВП: _http://codex.wordpress.org/Template_Tags/wp_list_categories
Хотя там можно и так все понять)))
Надеюсь с английским у тебя все норм
Спасибо, конечно, но эта магическая формула, видимо не всё, нужно ещё знать куда её вставить. В файле функции всего пара строчек – . Ставил и после этой фразы, и до, мало того, что не помогло, ещё и сайт перестал отображаться (ошибка то на третьей то на пятой строчке), пока не восстановил статус-кво. Причём это единственный ответ что нашёл во всём рунете, всё остальное – только вопросы, без ответов.
if ( function_exists('register_sidebar') ) {
...
));
}
Такие строчки у Вас есть? Должны быть. Вот после них попробуйте вставить функцию исключения рубрики
Я ведь говорю, тут гораздо сложнее, чем может показаться. Как вы говорите, так я и вставлял. На всякий случай попробовал ещё раз.
Не знаю, если это имеет значение, но в файле функций нее совсем так как вы написали – if ( function_exists(‘register_sidebar’) ) {
…
));
}
а
то есть вот этого “{…));}” там нет. Но так или иначе, а ошибка указана другая – Parse error: syntax error, unexpected ‘&’ in /home/u81520/www/wp-content/themes/autumn-almanac/functions.php on line 5
А этот & в коде указан, как же без него? А с ним, он оказывается “вдруготкуданивозьмись”
Попробовал вот так, поискав в интернете, – это сработало
function removeFromHome($query) {
if ($query->is_home)
{$query->set(‘cat’,'-3,-5,-6,-8′);}
return $query; }
add_filter(‘pre_get_posts’,'removeFromHome’);
Ой, простите меня пожалуйста((( Это все я натупил((( Я когда правил пост, я не заметил, что:
->
плагин заменил на: - > ;. И вот тут все Ваши баги полезли((((Еще раз сорри!((
есть кстати иплагин для всех этих дел с категориями, поставил настроил и никаких танцев с бубнами _http://ace.dev.rain.hu/2008/12/14/advanced-category-excluder-13-is-here/
А без плагина меньше лишних обращений к базе
Точно. Спасибо за код. Поставил на свеженький блог.
Круто!! Спасибо сразу получилось
Информация отличается от тех, которые я встречал. Но у меня не получилось найти этот код в файле функций… странно, каким уже способом пытаюсь.
Спасибо, пригодилось.
Спасибо за занимательную статью-очень помогла в работе.