web-dev-qa-db-fra.com

Comment créer une liste de tags liés dans ma barre latérale

Je cherche une solution pour afficher une liste de balises indiquant combien de fois la balise a été utilisée dans des publications, ainsi qu'un lien vers une liste de résultats. J'ai trouvé un extrait de code php que vous avez posté sur le forum Wordpress ici http://wordpress.org/support/topic/how-to-display-the-number-of-posts-under- chaque-étiquette? réponses = 30

<?php
// Select all the post tag IDs
$the_tags = $wpdb->get_col("SELECT term_id
FROM $wpdb->term_taxonomy WHERE taxonomy = 'post_tag'" );

// Loop over each ID, and grab associated data
foreach($the_tags as $tag_id) {
    // Get information on the post tag
    $post_tag = get_term( $tag_id, 'post_tag' );
    // Print the tag name and count (how many posts have this tag)
    echo $post_tag->name.' ( '.$post_tag->count.' )<br />';
    // Unset the data when it's not needed
    unset($post_tag);
}
?>

C'est presque parfait pour ce dont j'ai besoin, mais j'aimerais l'envelopper dans un élément de liste et le lier avec une étendue au-dessus du nombre. J'ai pris la ligne d'écho et fait ceci:

echo '<li><a href=\"<?php echo get_tag_link($tag_id); ?>\">'.$post_tag->name.' </a><span>('.$post_tag->count.')</span></li> ';

J'ai fait de mon mieux, mais je sais que ce n'est pas bien. Je sais très peu de choses sur PHP et je ne sais pas si c'est juste un cas de concaténation correcte ou si la partie get_tag_links est même correcte. Seriez-vous capable de m'aider? Merci beaucoup pour votre temps.

1
joe

Cela produira une liste de toutes les balises, triées par la balise la plus utilisée en premier. Chaque balise a le nombre de fois où elle a été utilisée après la balise entre parenthèses. Les parenthèses et le nombre de fois utilisé sont dans un <span>. Pour supprimer les parenthèses, remplacez <span>(' . $tag->count . ')</span> par <span>' . $tag->count . '</span>.

<ul id="tags-list">
<?php
$tags = get_tags( array('orderby' => 'count', 'order' => 'DESC', 'number'=>20) );
foreach ( (array) $tags as $tag ) {
echo '<li><a href="' . get_tag_link ($tag->term_id) . '" rel="tag">' . $tag->name . ' <span>(' . $tag->count . ')</span> </a></li>';
}
?>
</li>
</ul>

Cela renverra les 20 balises les plus utilisées. Supprimez , 'number'=>20 pour obtenir toutes les balises.

2
Travis Pflanz