Rom*_*mes 2 php wordpress foreach loops advanced-custom-fields
所以我不明白为什么这不起作用.我正在使用Wordpress和一个名为ACF的插件来填充一些数据.我循环遍历我的转发器字段以吐出数据,如下所示:
<?php
$links = get_field('footer_links'); // spits out the array
if($links) {
foreach ( $links as $link ) {
$logo = $link['logo'];
$link = $link['link'];
$text = $link['text'];
echo '<div class="link">';
echo ' <a href="'.$link.'"><img src="'.$logo.'" /><p>'.$text.'</p></a>';
echo '</div>';
}
}
// Logo spits out a image path
// link spits out the URL path
// text SHOULD just spit out the title, however throws PHP warning
?>
Run Code Online (Sandbox Code Playgroud)
对于变量,$text我收到了PHP警告.
警告:非法字符串偏移'文本'在......
为什么这是我的其他变量 - $logo,$link不要抛出这个警告?它们的创建方式与其他$text变量相同.
我已经尝试重新创建整个转发器字段并更改名称等.但没有成功.
这是我的print_r($ links);
Array
(
[0] Array
(
[logo] http://domainname.com/imagepath
[link] http://.....
[text] Text1
)
[1] Array
(
[logo] http://domainname.com/imagepath
[link] http://.....
[text] Text2
)
[2] Array
(
[logo] http://domainname.com/imagepath
[link] http://.....
[text] Text3
)
)
Run Code Online (Sandbox Code Playgroud)
这里抛出错误:
$link['text'];
Run Code Online (Sandbox Code Playgroud)
数组$link缺乏索引['text'].这是因为你在这里覆盖数组变量:
$link = $link['link'];
Run Code Online (Sandbox Code Playgroud)
改为:
$href = $link['link'];
Run Code Online (Sandbox Code Playgroud)
你是金子.