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



 

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

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


Участник
***

Группа: User
Сообщений: 162
Регистрация: 2.9.2012
Из: Ставрополье
Поблагодарили: 49 раз
Репутация:   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
Сообщений: 1434
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 641 раз
Репутация:   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
Сообщений: 162
Регистрация: 2.9.2012
Из: Ставрополье
Поблагодарили: 49 раз
Репутация:   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
Сообщений: 1434
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 641 раз
Репутация:   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
Сообщений: 162
Регистрация: 2.9.2012
Из: Ставрополье
Поблагодарили: 49 раз
Репутация:   7  


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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как защитить свои данные в общественном Wi-Fi?
6 unazekoff 263 Вчера, 23:51
автор: rty9000
Открытая тема (нет новых ответов) Как раскрутить городской портал с помощью вирусной рекламы?
9 Wolfhound 835 Вчера, 23:42
автор: mherter
Открытая тема (нет новых ответов) Как использовать показатель SERP impressions из Яндекс.Вебмастера для анализа изменений в ранжировании
alexeytrudov.com - персональный блог SEO-аналитика
0 Luden 277 Вчера, 21:39
автор: Luden
Открытая тема (нет новых ответов) Плагин Caldera Forms, как настроить?
4 Drayfer 305 Вчера, 15:01
автор: Drayfer
Открытая тема (нет новых ответов) РСЯ, директ и лендинг как увеличить конверсию
5 artstyle 1235 Вчера, 11:11
автор: про100та


 



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