2011-03-12 16 views
12

मैं नीचे त्रुटि मिल रही है ...चेतावनी: फटना() [function.implode]: अमान्य तर्क पारित कर दिया

चेतावनी: फटना() [function.implode]: \ WP-सामग्री में पारित अमान्य तर्क लाइन 1335

पर

पर /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>'; 
} 

कोई भी विचार कैसे त्रुटि रोकना। साइट में बिल्कुल एक टैग है।

उत्तर

35

आपको त्रुटि मिल रही है क्योंकि $ret कोई सरणी नहीं है।

त्रुटि से छुटकारा पाने के लिए, अपने समारोह के शुरू में, इस लाइन के साथ इसे परिभाषित: $ret = array();

ऐसा लगता है कि get_tags() कॉल कुछ भी नहीं लौटने है, इसलिए foreach नहीं चला है, जिसका अर्थ है कि $ ret परिभाषित नहीं है।

+0

कि यह था की कोशिश कर सकते हैं: $tags = get_tags(); ऊपर ठीक है, निम्न पंक्ति जोड़ें। मदद के लिए बहुत बहुत धन्यवाद! +1 –

2

ऐसा होता है जब $ret परिभाषित नहीं किया गया है। समाधान सरल है।

$ret = array(); 
24

आप

echo implode(', ', (array)$ret); 
संबंधित मुद्दे