1. ホーム
  2. php

[解決済み] 警告:implode() [function.implode]: 無効な引数が渡された

2022-02-02 10:09:20

質問

以下のようなエラーが発生するのですが...。

警告:implode() [function.implode]: 無効な引数が渡されました in \wp-content/themes/mytheme/functions.php on line 1335

において...

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が定義されていないようです。