2011-03-12 29 views
12

我得到下面的錯誤...警告:破滅()[function.implode]:無效的參數傳遞

警告:破滅()[function.implode]:在\可溼性粉劑內容傳遞的參數無效/themes/mytheme/functions.php上線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>'; 
} 

任何想法如何攔截錯誤。該網站只有一個標籤。

回答

35

由於$ret不是數組,因此出現錯誤。

爲了擺脫錯誤的,在你的函數的開始,這一行定義它:$ret = array();

看來,get_tags()調用返回的什麼都沒有,所以在foreach沒有運行,這意味着$ ret沒有被定義。

+0

這是它。非常感謝您的幫助! +1 – 2011-03-12 04:48:26

2

$ret未被定義時發生。解決方案很簡單。正上方$tags = get_tags();,添加以下行:

$ret = array(); 
24

您可以嘗試

echo implode(', ', (array)$ret); 
相關問題