webotheque > glossaire web > Créer un plugin wordpress
Vous pouvez également consulter l'étude de cas du plugin Wordpress Save Search on Wordpress développé dernièrement suite à une demande spécifique.
class wp_save_search{
déclaration des variables ...
déclaration des méthodes ...
}
Dans cette classe, nous retrouverons notamment le constructeur ainsi que les différentes méthodes.
function __construct($mode = 'install'){ global $wpdb; ## $wpdb permet d'accéder aux fonctions qui ## opéreront sur la bdd $wpdb -> tbl_SSW = $wpdb -> prefix.'save_search'; $wpdb -> tbl_SSW_CONF = $wpdb -> prefix.'save_search_conf'; ##Récupère le prefixe des tables et créé le nom ## des futures tables if($mode == "install") add_action('admin_menu',array(&$this,'my_admin_menu')); else $this -> nb_caract = get_option('nb_caract'); } function my_admin_menu() { ## Ajoute un lien vers le plugin dans le menu ## "extension" de l'administration add_submenu_page('plugins.php',"wp_save_search","Search on Wordpress" ,8, __FILE__,array(&$this,'homepage')); } ...
function homepage(){ // Mise à jour des paramètres $this->install(); global $wpdb; if(isset($_POST['choice_nbcaract']) && ...){ ## mise à jour des paramètres } ... echo __('Save Search on Worpdress'); ## titre du plugin $this -> main_form(); ## formulaire pour mise à jour des paramètres ... }
function main_form(){## Affiche le formulaire de paramètres global $wpdb; $nbcaract = $wpdb -> get_results("SELECT * FROM $wpdb->tbl_SSW_CONF"); $last_view = $nbcaract[0] -> last_view; ... }
function install(){## Initialisation du plugin global $wpdb; // Create table required for plugin $result = $wpdb -> query(" CREATE TABLE `$wpdb -> tbl_SSW` ( ## Création des tables ... $this -> mem_option('wp_save_search_init',true); }Afin de mieux appréhender la logique et la structure d'un plugin wordpress, n'hésitez pas à télécharger le plugin Save Search on wordpress et à en étudier son fonctionnement. Vous retrouverez aisément les exemples de codes cités ci-dessus (et ci-dessous ...) et serez alors plus à même d'en comprendre les principes, et ainsi de créer vos propres plugin en fonction de vos besoins.
$wpdb -> tbl_SSW = $wpdb -> prefix.'save_search'; ## Assignation du nom de la table à créer pour le plugin ## en récupérant le préfixe utilisé ##(à déclarer dans le constructeur)
$result = $wpdb -> query(" CREATE TABLE `$wpdb -> tbl_SSW` ( ... ## Création de la table ## Code à insérer dans la fonction install() par exemple
$update_nb = $wpdb -> query(" UPDATE $wpdb -> tbl_SSW SET ... ## Mise à jour d'une table
$insert = $wpdb -> query(" INSERT INTO `$wpdb -> tbl_SSW ... ## Insert des nouveaux éléments dans une table
$select = $wpdb -> get_results(" SELECT * FROM $wpdb -> tbl_SSW WHERE ... ## Retourne un tableau d'objets ou NULL
add_action('plugins_loaded','wp_save_search_init'); ## Déclenche une fonction suite à une action ## Ici, au chargement des plugins, on appelle ## la fonction 'wp_save_search_init' qui va ## quant à elle instancier la classe et installer le plugin add_action('publish_post', 'email_friends'); ## Ici, lorsqu'un post est publié ## on appelle la fonction 'email_friends'
add_submenu_page('plugins.php',"wp_save_search",
"Search on Wordpress",8, __FILE__,array(&$this,'homepage'));
## Ajoute un lien dans le menu Plugins
## de l'administration vers votre plugin
...Pour consulter la liste détaillée des actions et autres fonctions wordpress, visitiez la page http://codex.wordpress.org/Plugin_API (Wordpress Codex).
Statut
Civilité
Nom
Email
Projet
tous les champs sont requis, merci.
© webotheque.fr 2006 - 2024