【发布时间】:2012-03-22 05:43:21
【问题描述】:
我的解决方案作为答案发布在下面
但是我不会接受我的答案是正确的。我非常感谢有关优化我发布的解决方案的任何帮助或建议。我会接受最有帮助的答案作为正确答案。感谢您的帮助!
在博客模板中的 wordpress 主题中,我正在使用三种尺寸的特色图片创建帖子预览,小中号和大号。
以下代码可以很好地随机显示不同尺寸的显示,我想避免三个或更多相同尺寸的连续帖子。
也就是说,如果连续有两个“中”,那么下一个应该是小或大,之后可以为后续数组项重新开始随机化。这意味着从 $thumbs 数组中删除“连续”值,然后将其重新添加到下一次迭代中。
if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post();
$thumbsize = get('thumb_size');
$thumbs = array();
$thumbs[0] = get_the_post_thumbnail($post->ID, 'locations-small');
$thumbs[1] = get_the_post_thumbnail($post->ID, 'locations-med');
$thumbs[2] = get_the_post_thumbnail($post->ID, 'locations');
$thumbid = get_post_thumbnail_id($post->ID);
if($thumbsize == 'Small'){
$thumb = $thumb[0];
} elseif($thumbsize == 'Medium') {
$thumb = $thumb[1];
} elseif($thumbsize == 'Large') {
$thumb = $thumb[2];
} else {
$thumb = $thumbs[array_rand($thumbs)];
}
// so on and so forth
我知道这需要在“if($wp_query)”循环中向后检查两个项目,但我不确定如何执行此操作...
如何使用 array_rand() 编写条件代码以避免连续值?
谢谢!
【问题讨论】:
标签: php arrays wordpress random