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
- Choisir le nom de l’extension : par exemple ecrire-fun-2022
- Créer le dossier ecrire-fun-2022 dans le dossier wp-content /plugins
- 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)
- 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
*/
- 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
- Créer un dossier wp-content /plugins /ecrire-fun-2022 /includes
- Y coller votre fichier mesfonctions.php
- 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
- 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;
}