wp query_posts и доп поля

psics
На сайте с 02.04.2009
Offline
130
541

Привет всем.

Есть товар у товара есть несколько парметров (к примеру, объем, мг) - это доп поле при чем повторяющееся с помощью ACF (название volume).

Насколько я понимаю, там данные хранятся array(array()) - первый массив - само доп поле. Второй - повторяющиеся поля.

Как с помощью query_posts отфильтровать к примеру посты с объемом от 10 до 20 мг.

Возможно изменение структуры самих доп полей. Но нужно тогда решение подсказать...

SeVlad
На сайте с 03.11.2008
Offline
1609
#1
psics:
Как с помощью query_posts отфильтровать к примеру посты с объемом от 10 до 20 мг.

http://wp-kama.ru/function/query_posts#parametry-proizvol-nyh-poley-postmeta

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
psics
На сайте с 02.04.2009
Offline
130
#2

прочтено) неоднократно

$args['meta_query'][] = array( 
'key' => 'volume',
'value' => array( 0, 50),
'type' => 'numeric',
'compare' => 'BETWEEN'
);

и это не работает

---------- Добавлено 21.05.2015 в 12:15 ----------

а не работает потому, что у параметра "объем" - повторяющееся поле ACF данные хранятся в еще одном массиве кажется...

А если сделать чекбоксами доп поля - так смогу фильтровать? в такой же способ? или тоже когда будет несколько значений будет бяка...

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
psics:
а не работает потому, что у параметра "объем" - повторяющееся поле ACF данные хранятся в еще одном массиве кажется...

Наверное потому, что у ACF свои кастомные поля.

Ссылка на Тимура - не рецепт, а направление ;)

Да, ещё покури маны к ACF. Помнится, там они достаточно неплохие.

psics
На сайте с 02.04.2009
Offline
130
#4
SeVlad:
Наверное потому, что у ACF свои кастомные поля.
Ссылка на Тимура - не рецепт, а направление ;)
Да, ещё покури маны к ACF. Помнится, там они достаточно неплохие.

Да мануалы не плохие. Но про это как раз и не нашел пока.

Уточнение - повторяющееся поле volumes, а вложенное поле volume

http://prntscr.com/77nmja myadmin

---------- Добавлено 21.05.2015 в 13:04 ----------

движение пошло, но нужна подсказка

$args['meta_query'][] = array(
'relation' => 'AND',
array(
'key' => 'volumes_0_volume',
'compare' => 'BETWEEN',
'value' => array(10,11),
),
);

как заменить volumes_0_volume на volumes_переменная_volume

документация пишет так

http://www.advancedcustomfields.com/resources/query-posts-custom-fields/#example-5 но чето не выходит....

вот правильный ответ - может кому еще понадобится

$args['meta_query'][] = array(
'relation' => 'AND',
array(
'key' => 'volumes_%_volume',
'compare' => 'BETWEEN',
'value' => array(11,13),
),
);

и вот это нужно

function my_posts_where( $where ) {

$where = str_replace("meta_key = 'volumes_%", "meta_key LIKE 'volumes_%", $where);

return $where;
}

add_filter('posts_where', 'my_posts_where');
SeVlad
На сайте с 03.11.2008
Offline
1609
#5

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий