• сделал, потом сообразил, что вылез косяк
    значения отдельных произвольных полей хранятся в массиве.
    примерно так $value = array(1=>1,2=>0,3=>1);

    сейчас сделал фильтрацию так

    //начало цикла
    //проверка значения элемента массива поля с индексом 2
    $meta_values = get_post_meta($post_id,'key',1);
    if( $meta_values[2] !==1) continue;
    //конец цикла

    пагинацию пришлось делать через кучу счетчиков

    вопрос: можно как то проверить значение такого поля через параметр meta_query класса WP_Query?

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • а как произвольные поля связаны с пагинацией?

    $args = array(
    		  'numberposts' => -1,
    		  'post_type' => 'post',
    		  'meta_query' => array (
    		    array (
    			  'key' => 'my_key',
    			  'value' => 'target_value',
                              'compare' => 'IN'
    		    )
    		  ) );		
    
    		$new_query = new WP_Query( $args );

    https://wordpress.org/support/topic/custom-query-filtered-by-meta_value-that-is-an-array?replies=7

    Произвольные поля ни как не связаны, а выборка по ним очень даже,'numberposts' => -1 меня не устраивает, и получить все посты правильнее через nopaging = true, топик на который вы ссылаетесь я видел, но это не тот вариант, массив имеет вид array(1=>1,2=>0,3=>1), так что надо сверять не нахождение значения в массиве, а пару, ключ-значение

Просмотр 2 ответов — с 1 по 2 (всего 2)

Тема «meta query и значение поля в массиве» закрыта для новых ответов.