我使用一个简单的WP循环创建了一个布局,我试图随机化显示在循环中每个帖子的背景中显示的图像。
我的方法。
创建一个包含我可以从模板中任何位置调用的图像数组的函数。
在循环之前调用数组的函数。
使用$ i获取数组中的每个索引,从而更改图像。
我的数组功能(30张图片列表):
function randompics(){
$images = array(
get_template_directory_uri().'/images/jobs_large/1.jpg',
get_template_directory_uri().'/images/jobs_large/2.jpg',
get_template_directory_uri().'/images/jobs_large/3.jpg',
get_template_directory_uri().'/images/jobs_large/4.jpg',
get_template_directory_uri().'/images/jobs_large/5.jpg'
);
return $images;
}
我的模板。所以我希望后台URL在每次迭代时通过数组的索引前进。
<?php
$pics = randompics();
$i = 0;
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
?>
<div class="col-md-4">
<div class="item-container" style="background: url(<?php echo $pics[$i]; ?>);">
</div>
</div>
<?php
$i++;
endwhile;
endif;
?>
编辑澄清我的问题。 因此,我的问题是为什么后台网址不起作用。语法显然是错误的。
答案 0 :(得分:1)
循环没有任何问题,除非你应该使用&#34; isset($ pics [$ i])&#34;来检查数组项目。因为如果有x个图像和x + n个帖子,那么你会得到一个例外(http://php.net/manual/en/class.outofboundsexception.php)因为$ pics [x]中没有元素。
你的背景&#34; CSS属性是错误的。使用
HttpResponse.StatusDescription
或
background-image: url(YOUR IMAGE URL);
例如,
background:<background-color> <background-image> <background-repeat> <background-position>;