Php 我正在开发一个wordpress主题,这里有一个警告。如何解决这个问题
警告是“为foreach()提供的参数无效”Php 我正在开发一个wordpress主题,这里有一个警告。如何解决这个问题,php,wordpress,themes,Php,Wordpress,Themes,警告是“为foreach()提供的参数无效” 在尝试循环遍历$tags变量之前,请检查它是否是一个实际的元素数组 即: 一般来说,不要假设从函数返回的变量总是数组,您可以在调用foreach之前进行检查,如下所示: $tags = get_the_tags(); if ($tags) { foreach ($tags as $tag) { ... } } 在获取标签()的特定情况下,这可能就足够了: 在尝试循环ittry调试之前,请检查标记是否为数组$tags变
在尝试循环遍历$tags变量之前,请检查它是否是一个实际的元素数组 即:
一般来说,不要假设从函数返回的变量总是数组,您可以在调用
foreach
之前进行检查,如下所示:
$tags = get_the_tags();
if ($tags) {
foreach ($tags as $tag) {
...
}
}
在获取标签()
的特定情况下,这可能就足够了:
在尝试循环ittry调试之前,请检查标记是否为数组
$tags
<代码>变量转储($tags)将显示它的值。我的wordpress并不是最好的,但在中,您似乎缺少参数$post_id
(或者您处于循环中
),这段代码到底要去哪里?你能提供一些更多的上下文吗?这是在主题目录部分-blogcontent.php文件哦,找到它了,我的测试帖子中没有任何标记,所以它没有得到标记,而是if(is_array())
…假设你的意思是if(is_array($tags))
?哈。。是的,谢谢ADyson。。。更新!
<?php
$tags = get_the_tags(array('hide_empty' => false)); // show all tags, even empty 1s
// debug - uncomment below to view output
/*
echo "<pre>";
print_r($tags);
echo "</pre>";
*/
if( is_array($tags) )
{
foreach($tags as $tag):
?>
<a href="<?php echo get_tag_link($tag->term_id);?>" class="badge badge-success">
<?php echo $tag->name;?>
</a>
<?php
endforeach;
}else{
echo "<p>Not an Array!</p>";
}
?>
$tags = get_the_tags();
if (is_array($tags) || is_object($tags)) {
foreach ($tags as $tag) {
...
}
}
$tags = get_the_tags();
if ($tags) {
foreach ($tags as $tag) {
...
}
}