comment faire un plugin pour wordpress

mercredi 22 octobre 2008 | programmation, tutorials


Je vais prendre 5 minutes pour contribuer au monde merveilleux de wordpress avec un mini tutorial sur les plugins (ou extensions pour être correcte).
Je passe les détails sur l’installation d’un plugin dans wordpress ;¬) enfin rapidement pour ceux qui découvre, si vous avez accès au ftp de votre blog, les extensions sont dans le dossier /wordpress/wp-content/plugins/ et on les active dans la partie « Extensions » du panneau d’administration.

Pour faire ce merveilleux plugin, il faut avoir quelques notions de php, ici le plus difficile est de comprendre les variables tableaux et la fonction strtr ; si ça semble imbuvable, le site du zéro est assez pédagogique.

À quoi va servir ce plugin ;¬) nous allons faire un mini traducteur des jours en grolandais ! Rien d’utile mais en poussant un peu plus le principe, on peut imaginer des petites fonctions avancées en php et xhtml (pour convertir les liens .mp3 en player flash).

Premiers pas indispensable : L’entête

/*
Plugin Name: Grojour
Plugin URI: https://jaiunblog.com
Description: traducteur grlandais
Author: Ben
Version: 1.0
Author URI: https://jaiunblog.com
*/

Il s’agit de commentaire php entre /* et */ c’est la description (seul le Plugin Name est obligatoire).

Deuxième étape La fonction utile

function gJour($text){
$traduction = array(
"Lundi" => "Lendi",
"Mardi" => "Mordi",
"Mercredi" => "Credi",
"Jeudi" => "Joudi",
"Vendredi" => "Dredi",
"Samedi" => "Sadi",
"Dimanche" => "Gromanche",
"lundi" => "lendi",
"mardi" => "mordi",
"mercredi" => "credi",
"jeudi" => "joudi",
"vendredi" => "dredi",
"samedi" => "sadi",
"dimanche" => "gromanche"
);
$text= strtr($text,$traduction);
return $text;
}

Pour la pédagogie : echo gJour(« On est lundi ? »); // donne : On est lendi ?
Ne pas oublier le « return $variable » sinon le filtre effacera ses cibles.

Pour finir, la magie de wordpress : les filtres

add_filter("the_content","gJour");
add_filter("the_time","gJour");

On cible les « morceaux » qui vont être filtré par notre fonction gJour, ici the_content et the_time, le contenu et la date du billet. À noter, les filtres sont appliqués juste avant l’affichage des pages et si on désactive le plugin, le site redevient comme avant :-)

grojour.zip

Update : deux liens complémentaires
http://blog.site2wouf.fr/2008/08/tutoriel-wordpress-un-plug-in-simple-pour-comprendre.html
http://www.pasunclou.com/2008/09/29/ecrire-un-plugin-wordpress/


tags : , ,

Comments are closed.