Maison >Tutoriel CMS >WordPresse >10 Compétences à savoir pour un développeur de plugin WordPress
WordPress: un puissant guide de développement CMS et des plugins
WordPress Reigns Supreme en tant que système de gestion de contenu (CMS) le plus robuste actuellement disponible. Sa flexibilité et son extensibilité permettent la création de sites Web sophistiqués avec un minimum d'effort. Cette puissance provient en grande partie de son plugin et de son architecture de thème. Le référentiel officiel WordPress possède environ 21 000 plugins libres, un témoignage de sa communauté dynamique. Bien que la mise à profit des plugins existants soit pratique, le développement de plugins personnalisés offre une personnalisation inégalée et des opportunités lucratives pour les développeurs WordPress. Cet article décrit les aspects essentiels du développement du plugin WordPress, en supposant une compréhension fondamentale de la structure du répertoire WordPress.
Concepts clés
1. Création du plugin
Commencez par créer un nouveau dossier de plugin dans le répertoire /wp-content/plugins/
. Placez vos fichiers de plugin à l'intérieur de ce dossier. Un fichier principal est requis; Utilisez des traits de traits (-) pour séparer les mots du nom de fichier (par exemple, wp-enhanced-slider.php
).
Le fichier principal doit inclure le bloc de commentaires d'en-tête suivant pour WordPress pour reconnaître votre plugin:
<code class="language-php"><?php /* Plugin Name: Sample Plugin Plugin URI: https://yourwebsite.com/sample-plugin Description: A brief description of your plugin. Version: 1.0 Author: Your Name Author URI: https://yourwebsite.com License: GPL2 */ ?></code>
Après l'enregistrement, votre plugin doit apparaître dans la section Plugins du tableau de bord WordPress.
2. Activation et désactivation du plugin
L'activation d'un plugin est généralement effectuée via le tableau de bord. Les plugins simples ne nécessitent aucune manipulation spéciale. Cependant, les plugins avancés peuvent avoir besoin d'initialiser les options, de créer des tables, etc., pendant l'activation.
register_activation_hook
pour exécuter une fonction lors de l'activation du plugin: <code class="language-php"><?php /* Plugin Name: Sample Plugin Plugin URI: https://yourwebsite.com/sample-plugin Description: A brief description of your plugin. Version: 1.0 Author: Your Name Author URI: https://yourwebsite.com License: GPL2 */ ?></code>
register_deactivation_hook
gère la désactivation du plugin, permettant le nettoyage des ressources: <code class="language-php">function my_plugin_activation() { // Your activation code here } register_activation_hook(__FILE__, 'my_plugin_activation');</code>
3. Création de tables de base de données personnalisées
Bien que les tables existantes de WordPress soient très adaptables, les plugins complexes peuvent nécessiter des tables personnalisées. Priorisez l'utilisation de tables wp_options
et de méta chaque fois que faisable. Si les tables personnalisées sont inévitables, utilisez l'approche suivante:
<code class="language-php">function my_plugin_deactivation() { // Your deactivation code here } register_deactivation_hook(__FILE__, 'my_plugin_deactivation');</code>
N'oubliez pas d'utiliser {$wpdb->prefix}
pour assurer la compatibilité entre différentes installations WordPress. dbDelta
est préféré à $wpdb->query
car il gère les comparaisons de table existantes.
4. Y compris les scripts et les styles
Utiliser wp_enqueue_script
et wp_enqueue_style
pour un script et une inclusion de feuille de style efficace:
<code class="language-php">global $wpdb; $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}my_custom_table"); $sql = "CREATE TABLE {$wpdb->prefix}my_custom_table ( id INT(11) NOT NULL AUTO_INCREMENT, // ... your table columns ... PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1;"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql);</code>
Utiliser admin_enqueue_scripts
pour les scripts d'administration. wp_localize_script
permet de passer des données à votre javascript.
5. Shortcodes
Les shortcodes fournissent un moyen simple d'intégrer les blocs de contenu réutilisables:
<code class="language-php">add_action('wp_enqueue_scripts', 'my_plugin_scripts'); function my_plugin_scripts() { wp_enqueue_script('my-custom-script', plugins_url('my-script.js', __FILE__), array('jquery')); wp_enqueue_style('my-custom-style', plugins_url('my-style.css', __FILE__)); }</code>
6. Filtrage de contenu
Filtre Poster ou contenu de la page à l'aide de add_filter('the_content', 'my_content_filter')
:
<code class="language-php">add_shortcode('my_shortcode', 'my_shortcode_function'); function my_shortcode_function() { return '<p>This is my shortcode!</p>'; }</code>
7. Travailler avec ajax
Gérer les demandes AJAX en utilisant les actions wp_ajax
et wp_ajax_nopriv
:
<code class="language-php">function my_content_filter($content) { // Modify the content here return $content; }</code>
8. Secure SQL Queries
Utilisez toujours des instructions préparées pour empêcher l'injection SQL:
<code class="language-javascript">// JavaScript (using jQuery) jQuery.post(ajaxurl, {action: 'my_ajax_action'}, function(response) { // Handle the response }); // PHP add_action('wp_ajax_my_ajax_action', 'my_ajax_action_callback'); add_action('wp_ajax_nopriv_my_ajax_action', 'my_ajax_action_callback'); function my_ajax_action_callback() { // Process the Ajax request wp_die(); // Important: terminate the Ajax request }</code>
9. Ajout de boîtes d'options
Créer des boîtes d'options personnalisées à l'aide de l'API WordPress Meta Box:
<code class="language-php">$wpdb->prepare("SELECT * FROM {$wpdb->prefix}my_table WHERE id = %d", $id);</code>
10. Nonces for Security
Utiliser les nonces pour empêcher la contrefaçon de demande inter-sites (CSRF):
<code class="language-php">add_action('add_meta_boxes', 'add_my_custom_box'); function add_my_custom_box() { add_meta_box('my_custom_box', 'My Custom Box', 'render_my_custom_box', 'post', 'normal', 'high'); } function render_my_custom_box($post) { // ... your custom form fields ... }</code>
Ce guide élargi fournit un aperçu plus complet des aspects clés du développement des plugins WordPress. N'oubliez pas de consulter le Codex officiel WordPress pour les informations les plus à jour et les meilleures pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!