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

2022-08-30 19:23:44

我收到以下错误...

警告:implode() [function.implode]:在第 1335 行的 \wp-content/themes/mytheme/functions.php中传递的参数无效

在。。。

function my_get_tags_sitemap(){
    if ( !function_exists('wp_tag_cloud') || get_option('cb2_noposttags')) return;
    $unlinkTags = get_option('cb2_unlinkTags'); 
    echo '<div class="tags"><h2>Tags</h2>';
    if($unlinkTags)
    {
        $tags = get_tags();
        foreach ($tags as $tag){
            $ret[]= $tag->name;
        }
        //ERROR OCCURS HERE
        echo implode(', ', $ret);
    }
    else
    {
        wp_tag_cloud('separator=, &smallest=11&largest=11');
    }
    echo '</div>';
}

任何想法如何拦截错误。该网站只有一个标签。


答案 1

您收到错误是因为 不是数组。$ret

要消除错误,请在函数开始时,用以下行定义它:$ret = array();

看起来 get_tags() 调用不返回任何内容,因此不运行 foreach,这意味着未定义$ret。


答案 2

您可以尝试

echo implode(', ', (array)$ret);

推荐