Задача: вывести на главной странице сайта на wordpress посты только одной (или нескольких? или исключить одну?) категории. Можно использовать плагин, например Advanced Category Excluder
Я не мог использовать плагин по ряду причин.
Например, если вы исключите этим плагином все кроме одной категории, а потом другим плагином поставите в сайдбаре ссылки на нужные посты исключённых категорий то они не появятся, т.к. исключены.
У меня сработал такой метод:
в файле index.php вашей темы оформления ищем
код
<?php if (have_posts()) : ?> |
и перед ним добавляем такой код:
<?php if (is_home()) { query_posts($query_string.'&cat=920&showposts=5'); } ?> |
где 920 — ID категории, посты из которой вы хотите вывести.
По идее (я не проверял) должны работать и такие конструкции:
query_posts(‘cat=-3’) — Не показывать категорию id которой равно 3;
query_posts(‘cat=-1,-2,-3’) — Не показывать категории, id которых равны 1, 2 и 3;
query_posts(‘cat=2,6,17’) — Вывести категории с id равным 2, 6 и 17;
query_posts(‘category_name=WordPress’) — Вывести категорию с названием “WordPress”;
query_posts(‘name=Hello World’) — Вывести один пост с названием “Hello World”;
query_posts(‘p=5’) — Вывести один пост, id которого равно 5;
query_posts(‘page_id=7’) — Вывести страницу id которой равно 7;
query_posts(‘pagename=about’) — Вывести страницу с названием “about”;
query_posts(‘cat=18&showposts=5’) — Вывести 5 постов из категории с id=18;
query_posts(‘cat=3&orderby=date&order=ASC’) — Вывести посты из категории id которой равно 3, сортировать по дате в хронологическом порядке(DESC — в обратном порядке);
query_posts(‘posts_per_page=10’) — Вывести 10 постов на страницу (при значении -1 выводит все посты);
query_posts(‘cat=3&year=2008’) — Вывести посты из категории с id=3 за 2008 год;
query_posts(‘orderby=rand&showposts=3&cat=3’) — выводин рандомно, т.е. случайно 3 записи из 3 категории;
query_posts(‘orderby=rand&showposts=3’) — выводит случайно 3 записи из всех категорий;
query_posts(‘meta_key=cars&meta_value=volvo’) — выводит список постов с произвольным полем “cars” и значением этого поля volvo.
Информация о примерах использования query_posts взята с сайта http://www.wp-info.ru/
Будьте осторожны, если не до конца уверены в том что делаете 😉
Upd. Спасибо Snov за дополнение о том, что код из примера выше не работает с плагином WP-PageNavi, чтобы и плагин и метод работали, нужно использовать другой код. Смотрите в комментах.
53 комментария