page-translate

Ajouter des options dans l'admin d'un plugin Wordpress

plugin / programmation / Web / Wordpress

Important: Nous venons de migrer d'un site Wordpress vers Drupal alors il se peut qu'il y ait des liens brisés, des images qui ne s'affichent pas ou encore du code mal formatté. Nous travaillons fort pour régler ces problèmes le plus tôt possible.

Je vous ai déjà montré comment créer un lien dans l'administration Wordpress pour votre plugin. Aujourd'hui, je vais vous montrer comment ajouter des options à votre plugin et laisser l'utilisateur les modifier.

Créer la page d'options

Commençons avec là où nous en étions dans le dernier didacticiel. Nous avions créé un lien dans l'admin et ce lien pointait vers la page des options que nous avions laissé vide :

// ajouter le lien dans le menu
add_action('admin_menu', 'afficher_lien_menu');

// lier le lien du menu à la page d'options
function afficher_lien_menu() {
  if (function_exists('add_options_page')) {
  $plugin_page_options = add_options_page('Nom du Lien', 'Nom du Plugin', 'administrator', 'identifiant_unique_du_plugin', 'fonction_de_la_page_options');
  }
}

// la page des options
function fonction_de_la_page_options() {

  if (!current_user_can('administrator'))  {
    wp_die( __('You do not have sufficient permissions to access this page.') );
  }

  echo '<div class="wrap">';
  echo '<p>Ceci est l\'endroit où placer le formulaire des options.</p>';
  echo '</div>';

}

Ajouter une option

Wordpress permet le stockage d'options dans une genre de base de données interne. Wordpress met à notre disposition la fonction get_option() afin de permettre de lire les variables dans la base de données interne.

Le paramètre de la fonction get_option() est le name du champs à remplir. Par exemple :

<input type="text" name="option1" id="option1" value="<? echo get_option('option1'); ?>">

Ce code offre la possibilité d'entrer du texte comme valeur de l'option numéro 1. Si ce champs contient déjà une valeur dans la base de données, celle-ci s'affichera comme valeur par défaut.

Créer le formulaire des options

Les options de votre plugin Wordpress doivent être contenues dans un formulaire (form) qui sera exécuté par la page options.php. Voici un formulaire complet :

<form method="post" action="options.php">

<!-- Ajoute 2 champs cachés pour savoir comment rediriger l'utilisateur -->
<? wp_nonce_field('update-options'); ?>

<table width="90%">
<tr valign="top">

<!-- Option #1 -->
<th width="150" scope="row">Option #1:</th>
<td width="50">
<input type="text" name="option1" id="option1" value="<? echo get_option('option1'); ?>">
</td>

<!-- Option #2 -->
<th width="150" scope="row">Option #2:</th>
<td width="50">
<input type="text" name="option2" id="option2" value="<? echo get_option('option2'); ?>">
</td>
</tr>
</table>

<!-- Mise à jour des valeurs -->
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="option1, option2" />

<!-- Bouton de sauvegarde -->
<p>
<input type="submit" value="<?php _e('Save Changes'); ?>" />
</p>
</form>

Alors nous avons un formulaire avec 2 options : option #1 et option #2. Ces deux options peuvent être modifiées et lorsque le bouton "Sauvegarder" est pesé, les données des champs dont les noms sont option1 et option2 sont sauvegardés dans la base de données. La prochaine fois que le formulaire chargera, les valeurs des 2 options seront dans les cases appropriées, indiquant leur valeur à l'utilisateur.

Ajouter un commentaire

CAPTCHA
Êtes-vous un robot ?
Image CAPTCHA
Écrivez le code apparaissant dans l'image.

Derniers articles