sonic
  • 0
Новичок

Метазапросы выполняют проверку «или/или»

  • 0

У меня есть подобный метазапрос, но «отношение» => «ИЛИ» НЕ РАБОТАЕТ. Мета_запрос выполняет только проверки «оба/и» и не выполняет «или/или»?

$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'OR',
    array(
        'key' => 'app_os',
        'compare' => 'LIKE',  
        'value' => 'iPhone',  
    ),
    array(
        'key' => 'app_os',
        'compare' => 'LIKE',  
        'value' => 'iPad',  
    )
)

); $query = новый WP_Query($args);

Заранее спасибо.

Share
  1. meta_query работает с проверками «и/и», а также «или/или». Так что не волнуйтесь. Ваша кодировка была правильной. Это фактический формат…

    $a = new WP_Query(
    array(
        'fields' => 'ids',
        'ignore_sticky_posts' => true,
        'meta_query' => array(
            'relation' => 'OR',
            array(
                'key' => 'foo',
                'value' => array( 'foobar' ),
                'compare' => 'IN'
            ),
            array(
                'key' => 'bar',
                'value' => array( 'foobar2' ),
                'compare' => 'IN'
            )
        )
    ) );
    print_r( $a->posts );
    

    надо попробовать с этой кодировкой…

        $args=new WP_Query(
         array(
        'post_type' => 'post',
        'posts_per_page' => -1,
        'meta_query' => array(
        'relation' => 'OR',
            array(
                'key' => 'app_os',
                'value' => array('iPhone'),  
                'compare' => 'LIKE',  
            ),
            array(
                'key' => 'app_os_2',
                'value' => array('iPad') ,
                'compare' => 'LIKE',  
    
            )
        )
        ); 
    print_r($args->posts);
    
    • 0
  2. Отношение для метазапросов недоступно в текущей стабильной версии. Он должен поддерживаться в скором выпуске версии 3.2.

    См. Введение аргумента «relation» в билет meta_query на trac.

    • 0

Оставить ответ

You must login to add an answer.