Исключите категории из постзапроса

Я задал этот вопрос без подсказки, что продолжалось. Я получил ответ с кодом ниже. Это работало, когда я получил его. Я протестировал его с рубашками только, предположив, что это работало с другими кошками. это не работает с худи. Почему.. idk. Галерея все еще скрывается от сообщения в блоге. Кто-либо видит почему?

<?php
$gallery = get_cat_id('gallery');
$shirts = get_cat_id('shirts');
$hoodies = get_cat_id('hoodies');
$excluded_cats = '-'.$gallery.',-'.$shirts.',-'.$hoodies;
$limit = 5;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts( 'cat=' . $excluded_cats . 'showposts=' . $limit . '&paged=' . $paged );
$wp_query->is_category = true; $wp_query->is_home = false;
?>

http://threefourink.com/threefoursite/blog/

Я сейчас также понял что его показ всех сообщений, не $limit 5

Любая справка очень ценится!

0
30.11.2011, 00:34
4 ответа

Вы пропустили a & прежде showposts в запросе. Также showposts удерживается от использования. Попытайтесь использовать posts_per_page вместо этого.

<?php
$gallery = get_cat_id('gallery');
$shirts = get_cat_id('shirts');
$hoodies = get_cat_id('hoodies');
$excluded_cats = '-'.$gallery.',-'.$shirts.',-'.$hoodies;
$limit = 5;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts( 'cat=' . $excluded_cats . '&posts_per_page=' . $limit . '&paged=' . $paged );
$wp_query->is_category = true; $wp_query->is_home = false;
?>
1
20.02.2020, 00:15
  • 1
    спасибо я знаю, что должен был просто спросить Вас. Но не с showposts, потому что рубашки и галерея не обнаруживаются (так ее работа). Его показ кошки худи. Таким образом, я думал, что это было что-то с написанием худи где-нибудь в администраторе. Но я не вижу для понимания этого. Или почему не все они, не всего один. –  Nick 30.11.2011, 07:53
  • 2
    любая причина установки $wp_query->is_category = true; $wp_query->is_home = false; ? –  Joshua Abenazer 30.11.2011, 07:55
  • 3
    я нашел эту строку кода в сообщении форума где-нибудь, я не могу найти теперь. Это имело отношение к разбиению на страницы для следующей страницы сообщения. Что-то с созданием его как страница архивов. Idontknow? –  Nick 30.11.2011, 08:06
  • 4
    Хорошо вышеупомянутый код решают Вашу проблему? Если не я не ясен с тем, какова точно проблема прямо сейчас? номер –  Joshua Abenazer 30.11.2011, 08:08
  • 5
    в основном, это - моя страница блога. Я не хочу, чтобы это показало ранее названные категории. Его показ кошки худи. –  Nick 30.11.2011, 08:11

Это - то, как я исключаю категории на своей домашней странице:

            <?php if ( is_home() ) { query_posts($query_string . '&cat=-10,-5,-3'); }?>
0
20.02.2020, 00:15

эй проверьте его в свой код невольно еще могли бы быть пробелы могла бы быть ошибка опечатки. Вышеупомянутый код будет работы, прекрасные во всем углу.

0
20.02.2020, 00:15
  • 1
    Хорошо я понял что-то, если я переключаю порядок кошки в списке выше, последняя одна работа привычки. Например, я передвинул галерею и худи. теперь галерея обнаруживается а не худи. –  Nick 01.12.2011, 01:14

Вы могли полностью избежать любой потребности бездельничать с запросом Вару с помощью действия с parse_query вместо этого.

add_action( 'parse_query', 'wpse_35077_cat_excluder' );

function wpse_35077_cat_excluder( $query ) {

    // Empty when it's the post posttype
    if( !empty( $query->query_vars['post_type'] ) )
        return;

    if( is_home() )
        // 1, 2 and 3 represent example category IDs to exclude posts from
        set_query_var('category__not_in', array( 1, 2, 3 ) );
}

При необходимости в нем для работы на первую полосу а не домашнюю страницу, просто замените is_home() с is_front_page().

Примечание: Сообщения, которые являются, отстаивают, игнорируют исключения категории.

0
20.02.2020, 00:15
  • 1
    Спасибо за Ваш ответ, это выше моей головы. Я все еще учусь.Все понятно.. вид lol. –  Nick 01.12.2011, 01:15
  • 2
    Все запросы WordPress (или связанные с сообщением, по крайней мере), пробегает названный класс WP_Query, каждый раз, когда запрос выполняется, он призывает несколько действий и фильтров, эти рычаги, как они иначе известны, позволяют управление запросом простыми функциями (известный обычно как функции обратного вызова). Это - альтернативный, но удобный способ изменить запросы без большой части беспокойства, что Вы измените или удалите биты запроса, что Вы не можете на самом деле намереваться.. –  t31os 01.12.2011, 02:56
  • 3
    Тем не менее существуют обычно всегда больше, чем несколько путей к archieve то же самое в коде (поскольку я уверен, что Вы уже пришли к пониманию), используйте метод, с которым Вы чувствуете себя больше всего комфортно.. ;) –  t31os 01.12.2011, 02:58
  • 4
    Да, это имеет смысл. У меня была проблема при вызове вызова id# кошки, который является, почему я использовал код, который я имею теперь. Я просто исключил бы кошек, если бы я знал идентификатор. Я не знаю, где получить отдельный id# для каждой категории. Скажите мне, где я могу найти что, и плохо быть в большой форме lol. –  Nick 01.12.2011, 04:57
  • 5
    Ничего себе, таким образом, я понял это. по некоторым причинам это не разрешало последнюю кошку, к которой я звал, чтобы быть исключенным. Неважно, каким это было. Я использовал плагин для нахождения id#s категорий и заполнил их. Если я использую код: query_posts ('&cat =-6,-3,-4'.... Ничего не выйдет. Но если я говорю: query_posts ('&cat =-6,-3,-4,-6'... Работает. Мало изворотливый? –  Nick 01.12.2011, 09:01

Теги

Похожие вопросы