在我的代码中,booklist是一个自定义的帖子类型,其中booklink作为自定义字段。这本书单是自定义帖子类型书籍的后期对象
我一直收到此错误
strip_tags()期望参数1为第11行的字符串
为第12行的foreach()提供的参数无效
<?php
$all= get_posts(array('post_type' => 'books', 'numberposts' => -1,));
foreach ( $all as $post ) : setup_postdata($post);
if (!empty($post))
{
$booklink = array();
$booklist = strip_tags(get_field('booklist'));
foreach ($booklist as $post) : setup_postdata($post);
if (!empty($post))
{
$booklink[] = strip_tags(get_field('booklink',$post));
}
endforeach;
wp_reset_postdata();
echo $booklink[0];
}
endforeach;
?>
答案 0 :(得分:1)
我已添加endforeach
并删除了get_field
的条形码代码,它解决了问题。
答案 1 :(得分:0)
您在这里将$booklist
视为字符串(strip_tags返回一个字符串)
$booklist = strip_tags(get_field('booklist'));
然后在这里作为一个数组
foreach ($booklist as $post) :
你不能这样做。 foreach
需要一个数组。
你需要做什么(假设get_field
返回一个数组,因为它显然没有返回一个字符串)循环遍历数组并在那里运行函数
$booklist = get_field('booklist');
foreach ($booklist as $post) :
$post = strip_tags($post);