X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как исключить посты с определенными метками из цикла?, Вордпресс
bbkd
bbkd
Topic Starter сообщение 24.6.2014, 14:17; Ответить: bbkd
Сообщение #1


Участник
***

Группа: User
Сообщений: 150
Регистрация: 2.9.2012
Из: Ставрополье
Поблагодарили: 45 раз
Репутация:   7  


Добрый день!

Есть небольшая проблема с метками в вордпресс. Мне нужно исключить из цикла на главной странице посты, которые принадлежат определенным меткам. С рубриками все понятно, и вопросов нет - query_posts( 'cat=-12,-34,-56' );. Для исключения постов по меткам использую стандартно - query_posts(array('tag__not_in' => array(37,47)));, но... это не срабатывает. На главной, до этого цикла, еще используется 3, для вывода постов по определенным меткам query_posts(array('archive' => 'photos', 'showposts' => 12));.

Т.е. вывести посты с определеными метками срабатывает, а исключить посты с метками - нет.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
сообщение 24.6.2014, 16:58; Ответить: andreykashops
Сообщение #2


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Как вариант:
Проверьте правильность ID(так же то, чтобы тип передаваемых данных был integer)
Попробуйте использовать WP_Query
Код
$wp_query = new WP_Query(array('tag__not_in' => array(37,47)));

Попробуйте сбросить прошлый запрос
Код
<?php wp_reset_query(); ?>


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bbkd
bbkd
Topic Starter сообщение 24.6.2014, 22:41; Ответить: bbkd
Сообщение #3


Участник
***

Группа: User
Сообщений: 150
Регистрация: 2.9.2012
Из: Ставрополье
Поблагодарили: 45 раз
Репутация:   7  


andreykashops, Пробовал и через WP_query(), также ничего не получалось, а причина была в том, что с метками это работает, только я забыл, что в моем случае это были не стандартные метки, а новая таксономия меток. В итоге использовать исключение tag__not_in или через Wp_query() - 'operator' => 'NOT IN', так и не получилось. Для себя нашел выход, может кому-нибудь пригодится:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // если для этого цикла используется пагинация
query_posts(array('archive' => 'reviews,lists,articles', 'paged' => $paged)); // archive - новая таксономия, а reviews,lists,articles - слаги меток из которых нужно вывести посты
if(have_posts()) :
while ( have_posts() ) : the_post();

Этот вариант подойдет если меток мало, в моем случае 5.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
сообщение 24.6.2014, 23:02; Ответить: andreykashops
Сообщение #4


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Цитата(bbkd @ 24.6.2014, 20:41) *
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; // если для этого цикла используется пагинация
query_posts(array('archive' => 'reviews,lists,articles', 'paged' => $paged)); // archive - новая таксономия, а reviews,lists,articles - слаги меток из которых нужно вывести посты
if(have_posts()) :
while ( have_posts() ) : the_post();

Данная конструкция запрещена с версии WP выше 3.1
Пробуйте так:
Код
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$wp_query = new WP_Query(array(
    'tax_query' => array(
        array(
            'taxonomy' => 'archive', // Таксономия, именно ее название, а не слаг
            'field' => 'id',
            'operator' => 'NOT_IN',
            'terms' => array(1,2,3),
        )
    ),
    'paged' => $paged
));


Сообщение отредактировал andreykashops - 24.6.2014, 23:02


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bbkd
bbkd
Topic Starter сообщение 25.6.2014, 12:13; Ответить: bbkd
Сообщение #5


Участник
***

Группа: User
Сообщений: 150
Регистрация: 2.9.2012
Из: Ставрополье
Поблагодарили: 45 раз
Репутация:   7  


andreykashops, Именно так я и пробовал - через WP-query(), но на последней версии вордпресса у меня заработало только через query_posts(array('archive' => 'reviews,lists,articles', 'paged' => $paged)), понятия не имею почему, главное, что я убрал из цикла посты с нужным тегом :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Маленький кейс как сделать много почтовых ящиков в Gmail
Один аккаунт = много ящиков
11 PostBrigada 742 Сегодня, 2:50
автор: kstnews
Открытая тема (нет новых ответов) Как мошенники зарабатывают на прямых трансляциях в Instagram
Не ждите порно в инстаграм, его нет
12 PostBrigada 1356 16.12.2017, 23:00
автор: PostBrigada
Открытая тема (нет новых ответов) Как сейчас зарегистрировать Яндекс кошелек за пределами России?
4 metvekot 410 16.12.2017, 19:04
автор: metvekot
Открытая тема (нет новых ответов) Как поднять доверие к сайту?
5 fair_exchange 408 16.12.2017, 18:33
автор: genjnat
Горячая тема (нет новых ответов) Черный список обменников и как безопасно обменять валюту
141 Kurses 29971 15.12.2017, 13:04
автор: BestExchangers


 



RSS Текстовая версия Сейчас: 18.12.2017, 9:18
Дизайн