Avec le développement de WordPress, de plus en plus d'utilisateurs ont besoin de personnaliser les fonctions des sites Web WordPress. Pour répondre à ce besoin, développer votre propre plugin WordPress est une bonne option. Dans cet article, nous verrons comment développer des plugins WordPress personnalisés à l'aide de PHP.
Tout d’abord, comprenons la structure des plugins WordPress. Dans WordPress, les plugins sont implémentés via un dossier et doivent contenir un fichier spécifié. Ce fichier est plugin-name.php, où "plugin-name" est le nom du plugin. Dans ce fichier, nous pouvons définir le nom, le numéro de version, l'auteur et d'autres informations du plug-in.
En plus du fichier plugin-name.php, nous pouvons créer d'autres fichiers PHP dans le dossier plugin. Ces fichiers peuvent contenir du code pour la fonctionnalité de notre plugin. Dans nos fichiers principaux, nous pouvons utiliser les fonctions add_action() et add_filter() pour lier les fonctionnalités de ces fichiers avec des événements et des hooks spécifiques à WordPress.
Ci-dessous, nous utiliserons un exemple de plug-in simple pour démontrer ce processus. Dans ce plugin, nous allons créer un formulaire de contact simple et l'ajouter à une page WordPress.
La première étape, créez le dossier du plugin
Créez d'abord un dossier nommé "my-contact-form" dans le répertoire wp-content/plugins/ Ce sera le répertoire racine de notre plugin.
La deuxième étape consiste à créer le fichier principal plugin-name.php
Créez le fichier plugin-name.php dans le dossier my-contact-form. Dans ce fichier, nous définirons les informations de base du plugin (telles que le nom, la version, l'auteur), etc. et connecterons notre code fonctionnel.
Voici le contenu de base de plugin-name.php :
<?php /* Plugin Name: My Contact Form Plugin URI: http://mywebsite.com/ Description: A simple contact form plugin Version: 1.0 Author: John Doe Author URI: http://mywebsite.com/ */ // Our plugin's code will go here.
Ensuite, nous ajouterons du code fonctionnel, y compris la possibilité d'ajouter un formulaire de contact à la page WordPress.
Lorsque notre plugin est chargé par WordPress, la fonction init est exécutée. Nous devons donc ajouter la fonction init au fichier principal et y ajouter une fonction add_shortcode pour ajouter le formulaire de contact à la page WordPress.
Voici le fichier final plugin-name.php :
<?php /* Plugin Name: My Contact Form Plugin URI: http://mywebsite.com/ Description: A simple contact form plugin Version: 1.0 Author: John Doe Author URI: http://mywebsite.com/ */ function my_contact_form_shortcode() { // Code to create the contact form } add_shortcode( 'my_contact_form', 'my_contact_form_shortcode' );
Maintenant que nous avons créé une fonctionnalité de formulaire de contact simple, la façon de l'ajouter à votre page WordPress est d'utiliser le shortcode « [my_contact_form] ».
Étape 3, créez le code de la fonction du formulaire de contact
Maintenant, créons un fichier PHP contenant le formulaire de contact. Créez un fichier appelé "contact-form.php" dans le dossier my-contact-form et ajoutez le code suivant à ce fichier :
<?php function my_contact_form_shortcode() { $output = ''; // Check if the submitted form isset if( isset( $_POST['my_contact_submit_button'] ) ) { // Sanitize the submitted data $name = sanitize_text_field( $_POST['my_contact_name'] ); $email = sanitize_email( $_POST['my_contact_email'] ); $message = esc_textarea( $_POST['my_contact_message'] ); // Send the email $to = 'myemail@example.com'; $subject = 'New Contact Form Submission'; $body = "Name: $name Email: $email Message: $message"; $headers = array('From: ' . $name . ' <' . $email . '>'); wp_mail( $to, $subject, $body, $headers ); // Set a confirmation message $output = '<p style="color: green;">Your message has been sent.</p>'; } else { // Display the contact form $output .= '<form method="post"> <p> <label for="my_contact_name">Name</label><br/> <input type="text" name="my_contact_name" required> </p> <p> <label for="my_contact_email">Email</label><br/> <input type="email" name="my_contact_email" required> </p> <p> <label for="my_contact_message">Message</label><br/> <textarea name="my_contact_message" required></textarea> </p> <p> <input type="submit" name="my_contact_submit_button" value="Submit"> </p> </form>'; } return $output; }
Ce code implémente un formulaire de contact simple lorsque l'utilisateur clique lorsque le bouton "Soumettre". enfoncé, il enverra le nom, l'e-mail et le message à l'adresse e-mail spécifiée. Si la soumission réussit, un message de confirmation sera affiché sur la page.
Maintenant, nous devons à nouveau modifier le fichier principal pour connecter le code de fonction dans contact-form.php avec WordPress. Nous pouvons utiliser la fonction require_once() dans la fonction init pour les lier au fichier principal.
Voici le fichier final plugin-name.php :
<?php /* Plugin Name: My Contact Form Plugin URI: http://mywebsite.com/ Description: A simple contact form plugin Version: 1.0 Author: John Doe Author URI: http://mywebsite.com/ */ function my_contact_form_shortcode() { // Code to create the contact form } add_shortcode( 'my_contact_form', 'my_contact_form_shortcode' ); function my_contact_form_scripts() { wp_enqueue_style( 'my-contact-form', plugins_url( 'my-contact-form/css/style.css' ) ); } add_action('wp_enqueue_scripts', 'my_contact_form_scripts'); require_once( plugin_dir_path( __FILE__ ) . 'contact-form.php' );
Maintenant, nous avons ajouté avec succès la fonctionnalité de formulaire de contact à WordPress. Si vous suivez exactement les étapes ci-dessus, vous verrez certainement le nouveau plugin dans WordPress et pourrez ajouter un formulaire de contact sur votre page à l'aide de shortcodes.
En bref, développer votre propre plug-in WordPress peut non seulement vous aider à ajouter et personnaliser des fonctions dans WordPress, mais c'est aussi un bon moyen d'apprendre PHP. J'espère que cet article vous aidera à commencer à écrire votre propre plugin WordPress !
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!