Existe-t-il un moyen de récupérer un tableau d'identifiants de messages interrogés à partir des éléments suivants:
$latest = new WP_Query( array (
'orderby' => 'rand',
'posts_per_page' => 3
));
if ( $latest -> have_posts() ) : while ( $latest -> have_posts() ) : $latest -> the_post();
get_template_part( 'templates/content', 'post' );
endwhile; endif; wp_reset_postdata();
Suivre:
J'ai utilisé wp_list_pluck
pour récupérer un tableau d'ID de poste:
$post_ids = wp_list_pluck( $latest->posts, 'ID' );
Puis converti le tableau en chaîne en utilisant la fonction imploser:
$post_ids_string = implode( ',', $post_ids );
Désolé pour la question ambiguë.
wp-query
query-posts
Riches
la source
la source
wp_reset_postdata
devriez être à l'intérieur et non à l'extérieur de l'instruction if, sinon vous pourriez réinitialiser les données de publication lorsqu'elles n'ont pas été modifiéesRéponses:
Essayer
Lis
wp_list_pluck
la source
Utilisez l'
fields
argument dans votre requête.la source
L'utilisation de la solution de @ s-ha-dum est économique si vous avez seulement besoin d'obtenir les identifiants et que vous n'avez pas de jeu d'objets de requête précédent.
Voici pourquoi:
Parce que dans le cas où vous ne spécifiez
'fields' => 'ids'
rien de plus, vous obtiendrez en retour que les ID.Si vous optez pour
'fields' => 'id=>parent'
(l'air vraiment drôle), vous obtiendrez également l'ID parent.Toute autre façon d'utiliser l'
'fields'
argument n'aura aucun impact à partir de WordPress v4.7.Mais au cas où vous auriez la requête comme dans l'exemple
wp_list_pluck
fera le travail.la source