Wordpress и расширенные настраиваемые поля — получение категорий

Кажется, у меня возникли проблемы с получением сообщений/вложений после их подключения к категориям Woocommerce при использовании расширенных настраиваемых полей.

Я попытался использовать расширенный пример, подробно описанный здесь, и это насколько я могу использовать этот пример:

$images = get_posts(array(
  'numberposts' => -1,
  'post_type'   => 'attachment',
  'meta_query'  => array(
    'relation'    => 'AND',
    array(
      'key'       => 'category',
      'value'     => array('12', '13'),
      'compare'   => 'IN'
    )              
   )
));

Это все еще не работает, и я не слишком уверен, почему.

Я просмотрел запись в БД, и речь идет о записи:

meta_id      post_id      meta_key                 meta_value
  242          70         category      a:2:{i:0;s:2:"12";i:1;s:2:"13";}

Любая помощь будет высоко оценена, и спасибо заранее.

ИЗМЕНИТЬ

Обновление: изменен «post_type», чтобы использовать правильный тип. В данный момент все еще не работает.


person Zidail    schedule 19.05.2015    source источник


Ответы (2)


Ваш тип сообщения помечен attachments, но он должен быть attachment. Тип поста единственный.

person Aibrean    schedule 19.05.2015
comment
Спасибо тебе за это. Я изменил его на attachment, но на данный момент он все еще не работает. - person Zidail; 20.05.2015

Нашел решение проблемы. Очевидно, я использовал неправильный тип значения compare, и фактическое значение для категории должно было быть в двойных кавычках.

Я нашел нужный образец кода здесь.

Вот как окончательное решение выглядело для меня:

$images = get_posts(array(
  'numberposts' => -1,
  'post_type'   => 'attachment',
  'meta_query' => array(
    array(
      'key' => 'category',
      'value' => '"12"',
      'compare' => 'LIKE'
    )
  ),
));
person Zidail    schedule 20.05.2015