@ligisayan

Как исключить мета поле в запросе get_posts?

Всем привет! В цикле wordpress есть запрос get_posts произвольного типа, в выводе которого нужно исключить мета поле cp_category со значением "Шины" и полностью мета поле cp_new .
С первой частью справился на ура вот так:
$args = array(
    'post_type' => APP_POST_TYPE,
    'ignore_sticky_posts' => true,
    'meta_query' => array( 
                      array('key' => 'cp_category', 
                            'value' => 'Шины', 
                            'compare' => '!='
                            )
                     ), 
);

$categories = get_posts( $args );

А вот с исключением целого мета поля у меня возникли проблемы - далаю так, но в таком случае исключается не само поле, а значения в нем.
$args = array(
    'post_type' => APP_POST_TYPE,
    'ignore_sticky_posts' => true,
    'meta_query' => array( 
                     'relation' => 'AND',
			array('key' => 'cp_category', 
			      'value' => 'Шины', 
			      'compare' => '!='
 			      ),
                        array('key' => 'cp_new', 
			      'compare' => '!='
 			      )
		     ), 
);

$categories = get_posts( $args );

Как можно решить?
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@ligisayan Автор вопроса
Павел подсказал итоговое решение
$args = array(
    'post_type' => APP_POST_TYPE,
    'ignore_sticky_posts' => true,
    'meta_query' => array( 
                     'relation' => 'AND',
      array('key' => 'cp_category', 
            'value' => 'Шины', 
            'compare' => '!='
 			      ),
                        array('key' => 'cp_new', 
            'compare' => 'NOT EXISTS'
 			      )
         ), 
);

$categories = get_posts( $args );
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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