Accueil English Classique A propos Contact rss
WordPress from the beginning
Partage de découvertes autour de WordPress
 
accueil mots-clés plan du blog

Créer un plugin: 2ième partie

Voici la suite de l'article créer un plugin. Au menu: activation du plugin, injecter du contenu dans une page, créer une page d'administration pour le plugin...attention: il faut connaître la gestion des formulaires en php pour suivre cet article.

Procédure d’activation

Si votre plugin a des commandes à exécuter qu’une seule fois, lors de son activation, vous pouvez demander leur exécution en enregistrant deux nouveaux hook (dont un pour la procédure inverse):

register_activation_hook(__FILE__, 'my_plugin_install');
register_deactivation_hook(__FILE__, 'my_plugin_uninstall');

Note: il est préférable de ne pas créer de nouvelles tables dans la base de données, ceci pour ne pas compliquer les mises à jour. On peut utiliser les options pour stocker des paramètres.

Intégrer du contenu dans une page

Dans l’article précédent nous avons vu comment un plugin pouvait interagir avec son environnement. Je rappelle: en créant une fonction qui pourra être utilisée par d’autres plugins, en modifiant le comportement de wordpress par le biais des filtres et des actions, en rajoutant un widget à l’interface.

Voici maintenant un exemple d’injection de contenu, par le plugin, dans le corps de l’article ou de la page. Pour ce faire, il faut enregistrer un nouveau filtre:

add_filter( 'the_content', 'my_content_filter' );

Puis écrire cette fonction, qui prend obligatoirement une variable $content en paramètre et qui la retourne. Voici un exemple qui recherche une chaîne inscrite par le rédacteur dans une page :

function my_content_filter($content) {
  // change $content
  if ( is_page() &amp;&amp; strpos($content, '<!-- my replacement point -->') !== false ) {
	$content = str_replace('<!-- my replacement point -->', 'bla bla ...', $content);
  }
  return $content;
}

Une page d’administration: d’abord les menus

Voyons maintenant comment créer une page d’administration.

Tout d’abord, il faut créer une nouvelle entrée dans le menu de wordpress, généralement dans « Réglages », si une page vous suffit. La méthode est expliquée ici http://codex.wordpress.org/Adding_Administration_Menus, voici la portion de code qui nous intéresse:

// nouvelle action
add_action('admin_menu', 'my_plugin_menu');
 
// votre fonction qui va rajouter le ou les menus d'administration de votre plugin
function my_plugin_menu() {
  // cette fonction rajoute une entrée dans le menu "Réglages"
  add_options_page('My Plugin Options', 'My Plugin', 8, __FILE__, 'my_plugin_options');
  // pour voir les niveaux des users: http://codex.wordpress.org/User_Levels
}
 
// votre fonction qui sera appelée lorsque l'administrateur cliquera sur votre lien d'admin
function my_plugin_options() {
  echo "le formulaire d'administration...";
}

Une page d’administration: version simplifiée

Dans l’article précédent, je parlais des options, qui servent par exemple à enregistrer la configuration du plugin. L’idée est de permettre à l’admin du blog de changer ces options via un formulaire. Et bien wordpress fournit une méthode pour générer ces formulaires très rapidement, et il se charge lui même de mettre à jour les options.

Le code se trouve sur la page http://codex.wordpress.org/Creating_Options_Pages. Pour que ça marche, il faut vraiment respecter le code fourni à la fin, à savoir l’action du formulaire et les différents champs cachés.

J’en profite pour vous signaler un détail amusant: en mettant dans votre navigateur la terminaison /wp-admin/options.php vous verrez une page qui liste toutes les options de wordpress!

Une page d’administration personnalisée

Si la version simplifiée ne vous suffit pas, sachez que vous êtes libre de créer le formulaire que vous voulez, et vous devrez récupérer par vous même les valeurs postées, faire les tests, mettre à jour les options etc. Vous avez un exemple complet sur http://codex.wordpress.org/Adding_Administration_Menus.

Parmi les subtilités, vous noterez que le formulaire est posté en POST à l’action $_SERVER['REQUEST_URI'] et qu’ils conseillent de poster en même temps un champ caché qui servira de test pour faire la récupération des données via le tableau $_POST.

A suivre

Prochaine étape: distribution et promotion du plugin

Suggestions de lecture

Partagez avec les autres

Share/Bookmark

Ça vous a plu?

Ne partez pas sans laisser votre appréciation!
5 vote(s) 1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles Loading ... Loading ...

Réactions

comments 2 commentaires
  1. Nunz
    15/12/2009 à 09:37

    Merci pour le tuto, je suis en train de faire mes propres plugins et ça m’éclaire pas mal

    Like or Dislike: Thumb up 0 Thumb down 0

  2. 10/12/2009 à 16:37

    Bon tuto merci ca m’aide :)

    bonne continuation

    Like or Dislike: Thumb up 0 Thumb down 0

Haut de page
Choisissez vos widgets

A propos de cet article

Débuter avec WordPress est produit par Woodymood
Performance Optimization WordPress Plugins by W3 EDGE