Par absurdsystem le 5 décembre 2009

Creation d'un plugin WordPress [Partie 1]

first

Avant de commencer jettez un œil à la documentation
Tout y est expliqué mais pour ceux qui ne sont pas fan de l'anglais cela peut être compliqué.
Un excellent moyen de comprendre la structure et le fonctionnement d'un plugin est d'analyser le code de l'un d'entre eux.
Cela vous apportera suffisamment de base pour créer des plugins assez évolués.

La base d'un plugin

Les premières lignes de code d'un plugin sont les informations. Ces informations sont nécessaires pour que votre plugin soit reconnu par wordpress.
Elles se présentent comme ceci :

/*
Plugin Name: absurd_firstplugin
Plugin URI: http://www.absurdsystem.com
Description: Mon premier plugin
Version: 1.0 Beta
Author: Absurdsystem
Author URI: http://www.absurdsystem.com
*/

Voici une capture pour mieux comprendre à quoi cela correspond :
info_plugin

Avec ces informations, votre plugin sera reconnu et vous pourrez l'activer. Bien sur il ne fera rien.

Nous allons maintenant écrire une fonction simple. Elle se contentera d'afficher une simple phrase.

Fonction

function absurd_init() {
echo "Mon premier plugin";
}

Voila votre fonction est prête. Il suffit maintenant d'activer votre plugin.
Lorsque vous ferez appel à votre fonction elle sera reconnu par wordpress.
Faite appel à votre fonction ou bon vous semble. Dans votre sidebar par exemple. Ce n'est qu'un simple test.
Écrivez simplement :

absurd_init();

Vous devez maintenant voir apparaitre « Mon premier plugin » quelque part dans votre sidebar.

C'est bien beau tout ca mais comment lui appliquer un style ?

C'est tres simple.
Modifier d'abord votre fonction qui affiche votre phrase en lui appliquant une classe css:

function absurd_init() {
echo '
Mon premier plugin
';
}

Créez ensuite une autre fonction qui affiche du css.

function absurd_css() {
echo '';
}

C'est fait et pourtant ça ne change rien…

C'est vrai cela ne change rien. Car il faut encore indiquer à wordpress d'interpréter cette fonction.
Cela se fait à l'aide de Hooks.
Il en existe des centaines. J'y reviendrai dans un prochain article.

Dans notre cas nous avons besoin que la fonction qui va afficher notre code css soit dans les balises head de notre site.
Il suffit d'écrire:

add_filter('wp_head', 'absurd_css');

Par cette ligne de code wordpress va exécuter notre fonction absurd_css à l'endroit ou se trouve wp_head.
Wp_head est aussi un hook, mais est utilisé dans les thèmes.

Voici une capture de mon fichier header.php de mon thème
wp_head
C'est par cette « fonction » que wordpress va ajouter le code généré par la fonction « absurd_css ».

Actualiser votre page et vous verrez maintenant la phrase « Mon premier plugin » avec une couleur différente.
Afficher la source de la page et vous verrez que notre code css a été rajouté dans les balises head.

Pour récapituler voici l'ensemble du code vu jusqu'ici.

/*
Plugin Name: absurd_firstplugin
Plugin URI: http://www.absurdsystem.com
Description: Mon premier plugin
Version: 1.0 Beta
Author: Absurdsystem
Author URI: http://www.absurdsystem.com
*/

function absurd_init() {
echo '

Mon premier plugin
';
}

function absurd_css() {
echo '';
}

add_filter('wp_head', 'absurd_css');

zp8497586rq
zp8497586rq

    1 commentaire

  1. Styvodiabolo dit :

    Joliment décrit ! C’est plus simple et pratique que sur certains autres sites, humm…

    Néanmoins, peux-tu voir quand à la création d’un plug-in qui permettrait d’utiliser Smarty comme moteur de templates plutôt que d’écrire echo « duHTML »; ?

    Avec une attente hâtive de ton article sur les hooks, te souhaitant une bonne continuité dans la prog, je te laisse à une bonne soirée.

    Styvo.