Obter todos os produtos com um atributo personalizado

4

Eu quero fazer uma consulta personalizada para obter todos os produtos com um atributo específico ("demo" no meu caso) A consulta que eu quero retorna a partir disso:

a:5:{s:4:"demo";
a:6:{s:4:"name";
    s:4:"DEMO";
    s:5:"value";
    s:366:"LINK TO DEMO";
    s:8:"position";
    s:1:"0";
    s:10:"is_visible";
    i:0;
    s:12:"is_variation";
    i:0;
    s:11:"is_taxonomy";
    i:0;
}

}

Eu não sei como fazer um $ args para obter produtos. Eu quero $ args ser algo assim:

    $args = array ( 
         'meta_query' => array( 
             array( 
              'key' => 'meta_value', 
              'value' => 'demo', 
              'compare' => 'LIKE', ), 
           ), 
   );

Obrigado!

    
por Cristian B. 29.06.2015 / 09:46

3 respostas

2

OK, eu JÁ TENHO !! yuuhuuu!

Muito obrigada pessoal !!

Eu tenho isso:

$args = array ( 
     'post_type'  => 'product',
     'posts_per_page'  => -1,
     'meta_query' => array( 
         array( 
          'value' => 'demo', 
          'compare' => 'like'
         ), 
       ), 

);

Com isso funciona pelo menos para mim

Obrigado obrigado !!

Atenciosamente!

    
por Cristian B. 29.06.2015 / 11:13
1

Você escreveu key as meta_value . Deve ser seu nome de meta. O nome que você deu aos seus campos personalizados ou meta. Em seguida, use a seguinte consulta.

$args = array ( 
         'post_type'  => 'your-post-type',
         'posts_per_page'  => -1,
         'meta_query' => array( 
             array( 
              'key' => 'demo', 
              'value' => '',
              'compare' => '!='
             ), 
           ), 
   );

Por padrão, o compare está definido como =

    
por Karun 29.06.2015 / 09:57
1

tente algo assim

$args = array(
    "post_type" => "product",
    "meta_query" => array(
        array(
            "key"     => "demo",
            "value" => "abc",
            "compare" => "EXISTS",
        ),
    ),
);
$query = new WP_Query( $args );
    
por mmm 29.06.2015 / 09:56