web-dev-qa-db-fra.com

Obtenir tous les produits avec un attribut personnalisé

Je veux faire une requête personnalisée pour obtenir tous les produits avec un attribut particulier ("démo" dans mon cas) La requête que je veux retourne à partir de ceci:

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;
}

}

Je ne sais pas comment faire un $ args pour obtenir des produits. Je veux que $ args soit à peu près comme ceci:

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

Merci!

4
Cristian B.

OK j'ai déjà !! yuuhuuu!

Merci beaucoup les gars !!

J'ai ceci:

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

)

Avec cela fonctionne au moins pour moi

Merci merci!!

Meilleures salutations!

2
Cristian B.

essayez quelque chose comme ça

$args = array(
    "post_type" => "product",
    "meta_query" => array(
        array(
            "key"     => "demo",
            "value" => "abc",
            "compare" => "EXISTS",
        ),
    ),
);
$query = new WP_Query( $args );
1
mmm

Vous avez écrit key sous la forme meta_value. Ce devrait être votre nom méta. Le nom que vous avez donné à vos champs personnalisés ou méta. Ensuite, utilisez la requête suivante.

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

Par défaut, compare est défini sur =

1
Karun

Je sais que c'est vieux, mais hétéro, voici mes solutions:

Obtenir toutes les métadonnées pour un produit:

SELECT meta_key, meta_value FROM wp_postmeta WHERE wp_postmeta.post_id = 626

Obtenir des produits avec des métadonnées spécifiques

SELECT p.id, p.post_title, m.meta_key, m.meta_value FROM wp_posts p 
INNER JOIN wp_postmeta m ON p.id=m.post_id AND m.meta_key='_auction_dates_to' 

APPEND POUR OBTENIR DES META DATA POUR UN PRODUIT SPÉCIFIQUE

AND p.id=626

Ajouter pour obtenir une méta valeur spécifique

AND m.meta_value='today'
0
ssaltman