PHP / WordPress警告:implode()[function.implode]:传递的参数无效

时间:2014-12-02 13:33:29

标签: php wordpress implode

我使用的是Advanced Custom Fields Pro插件及其灵活字段

我在implode变量上使用与$displayCat我相关的每个布局获得以下PHP警告:

Warning: implode() [function.implode]: Invalid arguments passed in /server-path/wp-content/themes/theme-name/page-home.php on line XX

我认为这是因为$displayCat并不总是一个数组,所以试图放$displayCat = array();,但这并没有消除警告。

有什么想法吗?

if( have_rows('home_content') ):

   // loop through the rows of data
   while ( have_rows('home_content') ) : the_row();

      // 1x1 Nav
      if( get_row_layout() == '1x1_nav' ):

      $img = get_sub_field('img');
      $alt = get_sub_field('alt');
      $url = get_sub_field('url');
      $displayCat = implode('" "', get_sub_field('display_cat'));

1 个答案:

答案 0 :(得分:1)

get_sub_field()没有返回数组...它返回一个字符串。由于您尝试使用单个字符串创建数组,因此应执行以下操作:

$displayCat[] = get_sub_field('display_cat');

这会将每个'display_cat'子字段附加到$displayCat数组。

然后,在while()循环之外,您可以implode(' ', $displayCat);

相关问题