2011-01-07 3 views
3

Malgré beaucoup de documentation et d'exemples en ligne, je n'arrive pas à faire fonctionner cette fonction simple. Je n'ai aucune idée de ce que je fais de mal, mais néanmoins, cela ne fonctionne pas correctement. Quelqu'un peut-il repérer ce qui me manque ici?Fonction get_tags() ne pas trier correctement

Je cherche à créer un Tag Cloud personnalisé, c'est pourquoi je n'utilise pas wp_tag_cloud().

$tags = get_tags(array('orderby' => 'name', 'order' => 'ASC')); 
    foreach($tags as $tag) { 
     echo "<li><a href=\"" 
        .get_tag_link($tag->term_id)."\">" 
        .ucwords($tag->name) 
        ."</a> ($tag->count related page)</li>";  
    } 

Ce produit la sortie suivante:

- Black Box (3 related page) 
- Waste (2 related page) 
- Recycling (2 related page) 
- Garbage (1 related page) 
- Cheese (1 related page) 
- Blue Box (1 related page) 
- Test (1 related page) 

Comme vous pouvez le voir, ils sont classés par le comte, et pas nommé. Je ne sais pas pourquoi. Mes arguments semblent être corrects. pensées?

Répondre

0

J'ai trouvé cette question en essayant de résoudre un problème similaire ... il s'avère que mon code a juste eu une petite faute de frappe ('orderby' au lieu de 'orderby'). Mais j'ai trouvé quelque chose qui pourrait t'aider.

Il semble que cela soit parfois causé par des plugins interférant avec votre requête. Essayez de désactiver vos plugins pour voir si cela résout le problème.

1

Cette question est ancienne, mais peut-être que cela aide quelqu'un qui cherche toujours une réponse.

function sortOrder($a, $b) { 
    if($a->name == $b->name){ return 0 ; } 
    return ($a->name < $b->name) ? -1 : 1; 
} 

$tags = get_tags(); 
usort($tags, 'sortOrder'); 

    foreach($tags as $tag) { 
     echo "<li><a href=\"" 
        .get_tag_link($tag->term_id)."\">" 
        .ucwords($tag->name) 
        ."</a> ($tag->count related page)</li>";  
    } 
Questions connexes