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!
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!
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 );
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 =
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'