показывать случайное изображение в цикле, если изображение не задано
Я хочу показать случайное изображение из нескольких вариантов в моем цикле, если пользовательское поле не имеет определенного значения или могло бы быть, если бы у него не было миниатюры. В любом случае, он должен выплюнуть одно из случайных изображений. Вместо этого он дает мне их все для каждого поста, который удовлетворяет условию. Как я могу сделать так, чтобы он показывал только один наугад? Спасибо. Вот частичный код:
<?php
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<?php $image = get_post_meta($post->ID, 'myimage', true); ?>
<?php if ($image != 'myimage.jpeg'){
$upload_dir = wp_upload_dir();
echo '<img class="myclass" src="'.$upload_dir['url'].'/'.$image.'" alt="">';
} else {
?>
<?php
for ($i = 1; $i < 4; $i++) { ?>
<?php echo 'defaultImage'.$i .'.jpeg';
} ?>
<?php
$settings = get_option( "defaultImage" );
$random = rand( 1, 4 );
if ( isset( $settings[ "defaultImg$random" ] ) )
echo $settings[ "defaultImg$random" ];
}
?>
РЕШЕНО: Мое решение было действительно простым:
$input = array("defaultImage1.jpeg", "defaultImage2.jpeg", "defaultImage3.jpeg", "defaultImage4.jpeg", "defaultImage5.jpeg", "defaultImage6.jpeg");
$upload_dir = wp_upload_dir();
$rand_keys = array_rand($input, 2);
echo '<img class="story-carousel" src="'.$upload_dir['url'].'/'.$input[$rand_keys[0]].'" alt="">';
1
1 answers
Мое решение было действительно простым:
$input = array("defaultImage1.jpeg", "defaultImage2.jpeg", "defaultImage3.jpeg", "defaultImage4.jpeg", "defaultImage5.jpeg", "defaultImage6.jpeg");
$rand_keys = array_rand($input, 2);
echo '<img class="story-carousel" src="'.$upload_dir['url'].'/'.$input[$rand_keys[0]].'" alt="">';
0
Author: amespower, 2014-10-15 14:22:00