我使用的是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'));
答案 0 :(得分:1)
get_sub_field()
没有返回数组...它返回一个字符串。由于您尝试使用单个字符串创建数组,因此应执行以下操作:
$displayCat[] = get_sub_field('display_cat');
这会将每个'display_cat'
子字段附加到$displayCat
数组。
然后,在while()
循环之外,您可以implode(' ', $displayCat);