Contexte:
J'essaie d'afficher des images dans un diaporama et je souhaite sélectionner ces images au hasard sur le support du site Web. L'image a un champ personnalisé afin d'être sélectionné pour être le diaporama.
J'ai pu comprendre tout cela, et j'ai utilisé un wp_query pour trouver toutes les images avec le champ personnalisé qui dit que cela pourrait être utilisé dans le diaporama.
Question:
Maintenant, mon problème est de savoir comment faire pour passer en boucle dans la requête afin d’obtenir le numéro de message que je veux.
Code:
$args = array(
'post_type' => 'attachment',
'meta_key' => 'on_front_page',
'meta_value' => '1'
);
$wp_query = new WP_Query($args);
$total_images = (int) $wp_query->found_posts;
if ($total_image >= 6) {
for ($i = 0; $i < 6; $i++) {
Rand(0, $total_images);
}
}
elseif ($total_image >= 6) {
for ($i = 0; $i < $total_image; $i++) {
Rand(0, $total_images);
}
}
Je pense qu'au lieu d'utiliser PHP Rand
, mieux vaut limiter (si nécessaire) à l'aide de posts_per_page
, puis obtenir un ensemble aléatoire à l'aide de orderby => 'Rand'
.
Liste complète des paramètres de commande
Donc, si je modifiais votre requête, elle ressemblerait à ceci:
$args = array(
'post_type' => 'attachment',
'meta_key' => 'on_front_page',
'meta_value' => '1'
'orderby' => 'Rand'
'posts_per_page' => 6
);
$slides = new WP_Query($args);
$total_images = (int) $slides->found_posts;
if( $slides->have_posts() ) {
while( $slides->have_posts() ) {
echo $post->ID; // The Attachment ID
}
}