Je reçois l'erreur ci-dessous ...
Avertissement: implode () [function.implode]: arguments non valides passés dans\wp-content/themes/mytheme/functions.php sur la ligne 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>';
}
Toutes les idées pour intercepter l'erreur. Le site a exactement une balise.
Vous obtenez l'erreur car $ret
N'est pas un tableau.
Pour supprimer l'erreur, au début de votre fonction, définissez-la avec cette ligne: $ret = array();
Il semble que l'appel get_tags () ne renvoie rien, donc foreach n'est pas exécuté, ce qui signifie que $ ret n'est pas défini.
Tu peux essayer
echo implode(', ', (array)$ret);
Cela se produit lorsque $ret
N'a pas été défini. La solution est simple. Juste au-dessus de $tags = get_tags();
, ajoutez la ligne suivante:
$ret = array();