Pour développer un plugin WordPress, il est d’abord nécessaire de comprendre sa structure de base. Un plugin est essentiellement un ou plusieurs fichiers PHP qui suivent les spécifications de WordPress et interagissent avec le noyau via le système de hooks, afin d’étendre ou de modifier les fonctionnalités du site. Pour développer un plugin, vous avez besoin d’au moins un fichier principal, qui contient les annotations standard de la tête de plugin, essentielles pour que WordPress reconnaisse le plugin.
Créez votre premier plug-in.
Commençons par créer le plug-in “ Hello World ” le plus simple. Ce processus vous aidera à vous familiariser avec la structure des plug-ins, ainsi qu’avec les procédures d’activation et de désactivation.
Créer le fichier principal du plug-in.
Tout d'abord, dans le répertoire d'installation de WordPress,wp-content/pluginsDans le dossier, créez un nouveau dossier, par exemple.my-first-pluginDans ce dossier, créez un fichier nommé…my-first-plugin.phpLe fichier PHP principal. Le nom de ce fichier est généralement identique à celui du dossier.
Lectures recommandées Le guide ultime du développement de plugins WordPress : construire votre premier plugin de A à Z.。
Ouvrezmy-first-plugin.phpPour le fichier, saisissez les informations d'en-tête du plug-in standard suivantes :
<?php
/**
* Plugin Name: 我的第一个插件
* Plugin URI: https://example.com/my-first-plugin
* Description: 这是一个用于学习的简单Hello World插件。
* Version: 1.0.0
* Author: 你的名字
* Author URI: https://example.com
* License: GPL v2 or later
* Text Domain: my-first-plugin
*/
Cette note est d’une importance capitale. WordPress effectue le scan en…wp-content/pluginset tous les fichiers PHP dans ses sous-répertoires.Plugin Name:Il sert à identifier les plugins et à les afficher sur la page de gestion des plugins en arrière-plan.
Réaliser les fonctions de base et activer les hooks.
Ensuite, nous allons ajouter une fonctionnalité simple au plug-in : afficher une ligne de texte personnalisé dans le pied de page du site. En même temps, nous allons utiliser les crochets du cycle de vie de WordPress pour démontrer les actions qui peuvent être exécutées lors de l'activation et de la désactivation du plug-in.
En dessous de l'en-tête, continuez en ajoutant le code suivant :
// 定义一个函数,在页脚输出信息
function my_first_plugin_display_footer_text() {
echo '<p style="text-align: center;">Bienvenue à mon premier plugin WordPress !</p>'Ça marche ! Nous avons ajouté une fonction à l'action ‘ wp_footer ’, et le texte de notre plugin s'affiche maintenant après le pied de page.
';
}
// Nous utilisons l'action ' wp_footer ' pour ajouter notre fonction
add_action( 'wp_footer', 'my_first_plugin_display_footer_text' );
// L'action exécutée lors de l'activation du plugin
function my_first_plugin_activate() {
// Nous pourrions ici créer une table de base de données, définir des options par défaut, etc.
update_option( 'my_first_plugin_installed', current_time( 'mysql' ) );
}
register_activation_hook( __FILE__, 'my_first_plugin_activate' );
// L'action exécutée lors de la désactivation du plugin
function my_first_plugin_deactivate() {
// Nous nettoyons les données temporaires, mais nous conservons les données éventuellement créées par l'utilisateur.
delete_option( 'my_first_plugin_installed' );
}
register_deactivation_hook( __FILE__, 'my_first_plugin_deactivate' );
Maintenant, connectez-vous à votre tableau de bord WordPress, allez sur la page “ Plugins ”, et vous devriez voir un plugin nommé “ Mon premier plugin ”. Cliquez sur “ Activer ”, puis accédez à la page d’accueil de votre site web et faites défiler jusqu’en bas. Vous devriez voir le texte personnalisé que vous avez ajouté. Cet exemple simple montre le processus de base pour créer et exécuter un plugin.
Lectures recommandées Guichet unique pour le développement de plugins WordPress : construisez votre premier plugin de A à Z.。
Comprendre en profondeur le système de hooks de WordPress.
Les hooks sont la pierre angulaire du développement de plugins WordPress. Ils vous permettent d’insérer votre propre code à des moments précis de l’exécution du code principal, sans avoir à modifier les fichiers principaux. Les hooks sont principalement divisés en deux catégories : les actions et les filtres.
L'utilisation des crochets d'action.
Les hooks d'action sont exécutés lorsqu'un événement spécifique se produit, par exemple lors de la publication d'un article ou du chargement de l'en-tête ou du pied de page d'une page. Ils ne sont pas censés retourner une valeur, ils servent simplement à “ exécuter un bout de code ”. Nous les avons déjà utilisés dans le premier plugin.wp_footerCe déclencheur d'action.
Un autre exemple courant est le suivant :initUn hook, qui est déclenché lors de l'initialisation de WordPress, est souvent utilisé pour enregistrer des types d'articles ou des taxonomies personnalisés.
function my_plugin_custom_init() {
// 在这里注册自定义文章类型
}
add_action( 'init', 'my_plugin_custom_init' );
Les crochets d'action sont déclenchés paradd_action( $hook_name, $function_to_add, $priority, $accepted_args )Montage de la fonction.
L'utilisation des filtres hook.
Les filtres sont utilisés pour modifier les données. Ils vous sont transmis avant que les données ne soient utilisées (par exemple, lors de leur enregistrement dans une base de données ou de leur affichage dans un navigateur), et vous pouvez les traiter avant de renvoyer les valeurs modifiées. Par exemple,the_contentLes filtres vous permettent de modifier le contenu des articles.
function my_plugin_add_disclaimer_to_content( $content ) {
if ( is_single() ) {
$disclaimer = '<p><em>Cet article a été traité par mon plug-in.</em></p>';
$content .= $disclaimer;
}
return $content; // 必须返回修改后的内容
}
add_filter( 'the_content', 'my_plugin_add_disclaimer_to_content' );
Les crochets de filtre sont déclenchés paradd_filter( $hook_name, $function_to_add, $priority, $accepted_args )Montage de la fonction. Priorité.$priorityCela détermine l'ordre d'exécution de plusieurs fonctions montées sur le même crochet. Plus le nombre est faible, plus la priorité est élevée.
Lectures recommandées Guide de démarrage pour les débutants en développement de plugins WordPress : créez votre premier plugin fonctionnel à partir de zéro.。
Architecture des plug-ins et meilleures pratiques en matière de sécurité.
À mesure que les fonctionnalités des plug-ins deviennent plus complexes, une bonne architecture et des mesures de sécurité rigoureuses sont essentielles pour garantir que les plug-ins soient stables, maintenables et sécurisés.
Adopter la programmation orientée objet.
Pour les plugins riches en fonctionnalités, il est recommandé d’utiliser des classes pour organiser le code. Cela permet de regrouper les fonctionnalités, d’éviter les conflits de noms de fonctions et de rendre la structure du code plus claire.
<?php
/**
* Plugin Name: 高级示例插件
*/
if ( ! class_exists( 'Advanced_Sample_Plugin' ) ) {
class Advanced_Sample_Plugin {
public function __construct() {
// 在构造函数中挂载钩子
add_action( 'wp_footer', array( $this, 'display_message' ) );
add_filter( 'the_title', array( $this, 'modify_title' ) );
}
public function display_message() {
echo '<p>Des messages provenant de plug-ins avancés.</p>';
}
public function modify_title( $title ) {
return '前缀 - ' . $title;
}
}
// 初始化插件类
new Advanced_Sample_Plugin();
}
Mettre en place des mesures de sécurité.
La sécurité des plugins WordPress est d’une importance cruciale. Le principe de base est : ne faites jamais confiance aux entrées des utilisateurs. Tout ce qui provient de l’utilisateur doit être traité avec prudence.$_GET,$_POST,$_COOKIEToutes les données obtenues à partir de variables super-globales doivent être validées, nettoyées et échappées.
1. Vérification : Contrôler si les données respectent le format attendu (par exemple, s’il s’agit d’une adresse e-mail ou d’un numéro). Utiliser…sanitize_email(),is_email()et d'autres fonctions.
2. Nettoyage : Supprimer les caractères illégaux ou non sécurisés des données. Pour les entrées de texte, utiliser…sanitize_text_field()Pour le contenu HTML autorisé, utilisez <.wp_kses_post()Ouwp_kses()。
3. Échappement : Lorsque vous affichez des données dans HTML, JavaScript ou des URL, assurez-vous qu’elles soient codées de manière sécurisée. Utilisez les mécanismes appropriés pour éviter les attaques de type XSS (Cross-Site Scripting).esc_html(),esc_js(),esc_url()et d'autres fonctions.
Par exemple, traiter une propriété de code court :
fonction my_shortcode_handler( $atts ) {
// Utiliser shortcode_atts pour définir les valeurs par défaut et extraire les attributs
$atts = shortcode_atts( array(
'url' => '#',
), $atts, 'my_shortcode' );
// Nettoyer et échapper l'attribut URL
$clean_url = esc_url( $atts['url'] );
return "<a href='/fr/{$clean_url}/'>Lien sécurisé.</a>"php
add_shortcode('my_shortcode', 'my_shortcode_handler');
Ajouter une interface de gestion et une prise en charge de l’internationalisation pour le plugin.
Un plug-in mature nécessite généralement des options de configuration et devrait prendre en charge plusieurs langues.
Créer une page de paramètres d'administration.
Utilisez l’API Paramètres de WordPress pour créer des pages d’administration sécurisées et standardisées. C’est la méthode recommandée, car elle vous permet de gérer la sécurité (vérification des nonces) et l’uniformité de l’interface utilisateur des formulaires.
Voici un exemple simplifié d'ajout d'un menu principal et d'une page de paramètres :
class My_Plugin_Admin {
public function __construct() {
add_action( 'admin_menu', array( $this, 'add_admin_menu' ) );
add_action( 'admin_init', array( $this, 'settings_init' ) );
}
public function add_admin_menu() {
add_menu_page(
'我的插件设置', // 页面标题
'我的插件', // 菜单标题
'manage_options', // 权限
'my-plugin', // 菜单slug
array( $this, 'options_page_html' ) // 回调函数,输出页面内容
);
}
public function settings_init() {
register_setting( 'my_plugin_settings', 'my_plugin_options' ); // 注册设置
// 添加设置区域和字段
add_settings_section( 'my_plugin_section', '主要设置', null, 'my-plugin' );
add_settings_field( 'api_key', 'API密钥', array( $this, 'api_key_field_html' ), 'my-plugin', 'my_plugin_section' );
}
public function api_key_field_html() {
$options = get_option( 'my_plugin_options' );
?>
<input type='text' name='my_plugin_options[api_key]' value='<?php echo esc_attr( $options['api_key'] ?? '' ); ?>'>
<div class="wrap">
<h1></h1>
<form action="/fr/options.php/" method="post" data-trp-original-action="options.php">
<input type="hidden" name="trp-form-language" value="fr"/></form>
</div>
<?php
}
}
new My_Plugin_Admin();
Réaliser l'internationalisation des plugins.
Pour que le plug-in puisse être utilisé par des utilisateurs du monde entier, il doit prendre en charge plusieurs langues. Cela est possible en utilisant__( ‘Text’, ’text-domain’ )et_e( ‘Text’, ’text-domain’ )Cela implique d'utiliser la fonction de traduction pour traduire tout le texte visible par les utilisateurs. Vous l'avez déjà défini dans les commentaires en tête du plug-in.Text Domain: my-first-pluginC'est exactement pour ça qu'on s'est préparé.
1. Dans le code, utilisez la fonction de traduction pour toutes les chaînes de caractères qui doivent être traduites.
echo __( ‘欢迎使用我的插件!’, ‘my-first-plugin’ );
$title = esc_html__( ‘设置页面’, ‘my-first-plugin’ );
2. Utilisez un outil comme Poedit pour analyser les chaînes de traduction présentes dans le code du plugin et générer….potDes fichiers de modèle. Les traducteurs utilisent ces fichiers pour créer des traductions dans chaque langue..poEt après compilation..moLes documents (tels que)zh_CN.po/mo)。
3. Placez ces fichiers linguistiques dans le dossier du plugin.languagesDans le dossier. WordPress chargera automatiquement la traduction correspondante en fonction des paramètres de langue du site.
résumés
Le développement de plugins WordPress est un processus qui va de scripts simples à des applications complexes. La clé est de comprendre et d’utiliser efficacement le système de hooks, afin d’intégrer vos fonctionnalités de manière transparente dans le cycle de vie de WordPress grâce à des actions et des filtres. Suivre une architecture orientée objet peut améliorer l’organisation et la maintenabilité du code. La sécurité est la pierre angulaire du développement : il est essentiel de valider, nettoyer et échapper toute entrée utilisateur. Enfin, créez une interface d’administration professionnelle en utilisant l’API Settings et utilisez les fonctions d’internationalisation pour rendre votre plugin accessible dans le monde entier. À partir de la création d’un simple plugin, vous pourrez progressivement développer des fonctionnalités plus complexes.my-first-plugin.phpPour commencer, mettez ces concepts en pratique progressivement, et vous pourrez développer des plugins WordPress puissants, sécurisés et populaires.
FAQ Foire aux questions
Pour développer un plugin WordPress, quelles connaissances de base sont nécessaires ?
Vous devez maîtriser le langage de programmation PHP, car les plugins sont principalement écrits en PHP. En outre, vous devez avoir une connaissance de base du HTML, du CSS et du JavaScript pour créer des interfaces et des interactions frontales. Plus important encore, vous devez comprendre les mécanismes de base de WordPress, tels que les thèmes, les hooks, les boucles et la manière de stocker les données.
Puis-je tester le plug-in localement sans affecter le site en ligne ?
C'est tout à fait possible, et c'est fortement recommandé. Vous devriez développer vos plugins dans un environnement de développement local (en utilisant des outils tels que XAMPP, MAMP, Local by Flywheel, etc.) ou sur un serveur de test indépendant. Cela vous évitera de voir votre site en ligne s'effondrer ou de perdre des données en raison d'erreurs de code.
Comment déboguer le code de mon plug-in ?
WordPress propose différents outils de débogage. Tout d'abord, dans lewp-config.phpActivation du mode de débogage dans le fichier : définition.WP_DEBUGLa constante est :trueCela affichera directement les erreurs, avertissements et notifications PHP sur la page. Pour un débogage plus avancé, il est possible d’utiliser…error_log()La fonction écrit les informations dans le journal des erreurs du serveur, ou utilise un plug-in de débogage spécialisé tel que Query Monitor, qui fournit des informations détaillées sur les requêtes de base de données, les hooks, les erreurs PHP, etc.
Après le développement, comment soumettre le plug-in au répertoire officiel de WordPress ?
Vous devez vous rendre sur WordPress.org et créer un compte. Ensuite, soumettez le code de votre plugin à l’entrepôt SVN fourni par WordPress à l’aide de l’outil Subversion (SVN). Avant de soumettre, assurez-vous que le code du plugin respecte les normes et directives officielles de développement de plugins, notamment en matière de sécurité, de qualité du code, de documentation et d’internationalisation. Une fois approuvé, votre plugin apparaîtra dans le répertoire officiel, où les utilisateurs pourront le télécharger et l’installer.
Quelle est la suite, quelle est la suite ?
Lecture approfondie et connaissances pratiques
Les articles suivants sont liés au sujet de cet article et peuvent faire l'objet d'une lecture plus approfondie. Il est souvent préférable de commencer par l'article qui se rapproche le plus de votre problème actuel, puis d'étendre progressivement la lecture aux sujets environnants.
- Découvrez en profondeur WooCommerce : le guide ultime pour une solution d'e-commerce complète, allant de la création à l'optimisation de votre site web.
- 10 plugins essentiels pour WordPress pour améliorer les performances et la sécurité de votre site web
- 10 plugins WordPress les plus recommandés pour 2026 pour améliorer la performance et la sécurité de votre site web
- Analyse approfondie de WooCommerce : Construire un site e-commerce WordPress puissant à partir de zéro
- Les 10 plugins WordPress les plus recommandés pour 2026 pour améliorer la performance et la sécurité de votre site web