Migration Simple-Tagging vers WP Tags

Tags:
Add comments

J’en avais un peu marre de me trainer le portage du plugin Simple-tagging de migration en migration, alors ça y est, j’ai basculé vers le plugin Tags “builtin” de WordPress. Ce fut finalement assez simple puisque depuis l’option “import” de la console d’admin il est possible d’importer les Tags “simple-tagging”. Il a suffit ensuite de remplacer les appels STP_* par the_tags() avec les paramètres ad’hoc.

Restait le nuage de Tags. La fonction wp_tag_cloud() fonctionne parfaitement, mais il lui manque quelque chose qui me plaisait bien: un système de colorisation rendant les tags de plus en plus foncés fonction du nombre de liens qu’ils comportent. C’est futile, mais j’aimais bien. Du coup, puisque la fonction wp_tag_cloud() permet, lorsqu’on lui passe en argument format=array, de retourner un Array, je me suis fendu d’un minuscule plugin permettant d’associer des couleurs differentes au tags :

<?php
/*
Plugin Name: Colorize Tags
Plugin URI: http://imil.net
Description: Colorize tags
Author: iMil
Version: 0.0
Author URI: http://imil.net/
*/
function color_tags()
{
    if ( function_exists('wp_tag_cloud') ) {
        // WARNING: may be unportable
        $tags = wp_tag_cloud('smallest=8&largest=16&format=array');
        foreach ($tags as $tag) {
            if (preg_match('/title=[\'\"](\d+)/', $tag, $matches)) {
                $fact = $matches[1];

                $fact = $fact % 5;
                if (++$fact > 10) {$fact = 10; }
                ?><li class="< ?php echo "t$fact"; ?>">< ?php
                echo "$tag</li>\n";
            }
        }
    }
}
?>

Ainsi, chaque Tag sera contenu dans un <li> qui aura pour id quelque chose de la forme "t[numero]", ou "numero" croit fonction du nombre de liens associés au Tag. Reste alors à ecrire la CSS, soit quelque chose du genre :

ul#tagcloud li.t1 a { color:#999999; font-size: 100%; }
ul#tagcloud li.t2 a { color:#8d8d8d; font-size: 110%; }
ul#tagcloud li.t3 a { color:#818181; font-size: 120%; }
ul#tagcloud li.t4 a { color:#757575; font-size: 125%; }
ul#tagcloud li.t5 a { color:#686868; font-size: 130%; }
ul#tagcloud li.t6 a { color:#5c5c5c; font-size: 135%; }
ul#tagcloud li.t7 a { color:#505050; font-size: 140%; }
ul#tagcloud li.t8 a { color:#444444; font-size: 145%; }
ul#tagcloud li.t9 a { color:#383838; font-size: 150%; }
ul#tagcloud li.t10 a { color:#313131; font-size: 160%; }

Pour obtenir le résultat ci à droite.

Leave a Reply

WP Theme & Icons based on GlossyBlue by N.Design Studio
Banner from www.trynthlas.com
Entries RSS Comments RSS Log in
Performance Optimization WordPress Plugins by W3 EDGE