为foreach()提供的参数无效

时间:2013-05-06 12:50:50

标签: php wordpress themes

我正在尝试在本地安装主题,但当我去做时,我收到以下错误:

( ! ) Warning: Invalid argument supplied for foreach() in C:\wamp\www\wp-content\themes\royalestate\slider.php on line 4
Call Stack
#   Time    Memory  Function    Location
1   0.0005  369184  {main}( )   ..\index.php:0
2   0.0007  372840  require( 'C:\wamp\www\wp-blog-header.php' ) ..\index.php:17
3   1.3620  21193256    require_once( 'C:\wamp\www\wp-includes\template-loader.php'   ) ..\wp-blog-header.php:16
4   1.3635  21212432    include( 'C:\wamp\www\wp-content\themes\royalestate\homepage.php' ) ..\template-loader.php:47
5   1.4038  21296984    include( 'C:\wamp\www\wp-content\themes\royalestate\slider.php' )   ..\homepage.php:12

如果我的问题出现在滑块代码中,那么就在下面,但我认为应该没有,因为我已经开箱即用。

    <div id="slider-container">
        <div class="flexslider">
            <ul class="slides">
                <?php $slider_ctr = 0; foreach($slides as $num => $slide) : if ($slider_ctr < 5) : $image_aq = aq_resize($slide['src'], 100, 73, true);
                ?><li data-thumb="<?php echo aq_resize($slide['src'], 100, 73, true) ?>">
                    <a href="<?php echo $slide['link'] ?>"><img alt="" src="<?php echo aq_resize($slide['src'], 676, 290, true) ?>"/></a>
                    <div class="flex-caption">
                        <p><?php echo $slide['title'] ?></p>
                        <p><strong><?php echo $slide['caption'] ?></strong></p>
                    </div>
                </li><?php
                $slider_ctr++; endif; endforeach; ?>
            </ul>
        </div>
    </div>

非常感谢您的帮助。 干杯, 碎布

2 个答案:

答案 0 :(得分:2)

Warning: Invalid argument supplied for foreach() 

non-array对象或值传入foreach循环时发出此消息。

您可能需要 var_dump($ slides); 并查看它包含的内容。它很可能包含布尔值假 null 值。

在使用foreach循环之前,我会检查 $ slides 是否为数组

 if (is_array($slides)) {
   foreach($slides as $slide) {
     ...
   }
 }

答案 1 :(得分:0)

为了防止这种情况,请输入

if(is_array($slides)) 
在foreach之前