Créer une extension (plugin)

Vous êtes ici : Accueil » Construire et gérer un blog avec WordPress » Créer une extension (plugin)

Ca ne vous empêche pas de créer un thème enfant mais si votre but n’est que de protéger des fonctions qui ne sont pas en lien direct avec le thème, il est préférable d’utiliser une extension.

Bibliographie

  • https://developer.wordpress.org/plugins/plugin-basics/
  • https://www.hostinger.fr/tutoriels/creer-un-plugin-wordpress

Avantages du plugin

  • Evite d’écrire de nouvelles fonctions dans les fichiers functions.php de WordPress :
    • wp-includes /functions.php
    • et wp-content /themes /twentytwentytwo /functions.php

Les étapes de la création

  1. Choisir le nom de l’extension : par exemple ecrire-fun-2022
  2. Créer le dossier ecrire-fun-2022 dans le dossier wp-content /plugins
  3. Créer le fichier ecrire-fun-2022.php dans le dossier wp-content /plugins /ecrire-fun-2022 (on pourra créer d’autres fichier php dans ce répertoire si nécessaire, mais seul le fichier ecrire-fun-2022.php contiendra le commentaire d’en-tête de l’extension)
  4. Coller ce commentaire d’en-tête dans le fichier wp-content /plugins /ecrire-fun-2022 /ecrire-fun-2022.php (en personnalisant) :
<?php
/*
 * Plugin Name: ecrire-fun-2022
 * Description: Utilisé par le site écrire.fun avec le thème WP 2022. Gère la Recherche sélective, la désactivation des liens inutiles, les sommaires, les short codes.
 * Author: CHIRO314
 * Version: 1.0
 */
  1. Activer l’extension dans wp-admin /Extensions : cliquer sur le bouton Activer de l’extension ecrire-fun-2022
Explications
  • Cette extension devra exécuter des script JS avant que la page ne s’affiche.
Restitution
  1. Créer un dossier wp-content /plugins /ecrire-fun-2022 /includes
    • Y coller votre fichier mesfonctions.php
  2. Créer un dossier wp-content /plugins /ecrire-fun-2022 /includes /js
    • Y coller vos scripts JS
Exemples de contenus des dossiers de l’extension ecrire-fun-2022
wp-content/plugins
wp-content /plugins /ecrire-fun-2022
wp-content /plugins
/ecrire-fun-2022/includes
wp-content /plugins
/ecrire-fun-2022/includes/js
  1. Ajouter cette instruction require dans le fichier wp-content /plugins /ecrire-fun-2022 /ecrire-fun-2022.php pour charger le fichier mesfonctions.php :
<?php
/*
 * Plugin Name: ecrire-fun-2022
 * Description: Utilisé par le site écrire.fun avec le thème WP 2022. Gère la Recherche sélective, la désactivation des liens inutiles, les sommaires, les short codes.
 * Author: CHIRO314
 * Version: 1.0
 */

require_once plugin_dir_path(__FILE__) . 'includes/mesfonctions.php';

A propos des Hooks (crochets)

A utiliser dans le fichier wp-content /plugins /ecrire-fun-2022 /includes /mesfonctions.php

Hook signifie crochet.

Les crochets d’action

add_action( ‘nomHookAction’, ‘nomFonction’, 10, 1 );

  • 1er paramètre : nom du crochet d’action fourni par WordPress, par exemple, wp-footer (Hook signifie crochet)
  • 3e paramètre (facultatif) : la priorité par défaut est 10, mettant votre fonction personnalisée après l’utilisation des fonctions intégrées de WP. Une fonction avec une priorité de 11 s’exécute ensuite, etc.
  • 4e paramètre (facultatif) : le nombre d’arguments par défaut de la fonction est 1.
  • Liste des crochets d’action : https://developer.wordpress.org/apis/hooks/action-reference/

Exemple (chargement d’un script JS permettant de générer un sommaire) :

add_action('wp_enqueue_scripts', 'cmaSommaireH2H3DansIdDivSommaire');

function cmaSommaireH2H3DansIdDivSommaire(){
    global $cmaWayToJs;    
    if(is_single() or is_page()) {
        wp_enqueue_script('cma-sommaire-h2-h3-dans-id-div-sommaire', $cmaWayToJs . 'sommaire-h2-h3-dans-id-div-sommaire.js', array(), '1.0.0', true);
    }
}

Avec la variable $cmaWayToJs définie au début du fichier mesfonctions.php :

$cmaWayToJs = plugin_dir_url( __FILE__ ) . "js/";

Les crochets de filtre

add_filter( ‘nomHookFilter’, ‘nomFonction’, 10, 1 );

  • Le filtre modifie des données avant qu’elles soient affichées
  • Liste des crochets de filtre : https://developer.wordpress.org/apis/hooks/filter-reference/

Exemple (modification de l’extrait d’article avec ajout du mot Extrait) :

add_filter("get_the_excerpt", "mfp_Add_Text_To_Excerpt");

function mfp_Add_Text_To_Excerpt($old_Excerpt){
  $new_Excerpt = "<b>Extrait : </b>" . $old_Excerpt;
  return $new_Excerpt;
}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Get 30% off your first purchase

X