Je voudrais répertorier tous les messages qui ont une clé de cp_annonceur
avec la valeur professionnel
.
Je voudrais répertorier tous les messages qui ont une clé de cp_annonceur
avec la valeur professionnel
.
Réponses:
Ce que vous demandez, c'est un meta_query
$args = array(
'meta_query' => array(
array(
'key' => 'cp_annonceur',
'value' => 'professionnel',
'compare' => '=',
)
)
);
$query = new WP_Query($args);
Toutes les informations dont vous avez besoin se trouvent dans le Codex .
Il y a deux façons de procéder:
Intercepter la requête principale sur pre_get_posts
:
add_action( 'pre_get_posts', function( $query )
{
// only handle the main query
if ( ! $query->is_main_query() )
return;
$query->set( 'meta_key', 'cp_annonceur' );
$query->set( 'meta_value', 'professionnel' );
} );
Ajouter une requête supplémentaire
$second_loop = get_posts( array(
'meta_key' => 'cp_annonceur',
'meta_value' => 'professionnel',
) );
J'ai utilisé une sélection personnalisée (peut-être de meilleures performances)
$posts = $wpdb->get_results("SELECT * FROM $wpdb->postmeta
WHERE meta_key = 'cp_annonceur' AND meta_value = 'professionnel' LIMIT 1", ARRAY_A);
Inspiré de https://tommcfarlin.com/get-post-id-by-meta-value/
Nous pouvons obtenir le résultat souhaité avec la requête Meta de WordPress:
// the meta_key 'diplay_on_homepage' with the meta_value 'true'
$cc_args = array(
'posts_per_page' => -1,
'post_type' => 'post',
'meta_key' => 'cp_annonceur',
'meta_value' => 'professionnel'
);
$cc_query = new WP_Query( $cc_args );
Pour un guide plus détaillé concernant la méta-requête, suivez ce blog: http://www.codecanal.com/get-posts-meta-values/
post_per_page
valeur est -1?