Cet article montre la construction d'un plugin de formulaire de contact AJAX simple pour WordPress. Nous couvrirons la création du plugin, la conception de formulaires, la manipulation de l'AJAX et la mise en œuvre des raccourcis.
Concepts clés:
- Le développement du plugin WordPress exploite les plugins pour étendre les fonctionnalités du site. Cela comprend la création de formulaires de contact qui utilisent AJAX pour la soumission des données. Cela implique la création de fichiers de plugin, la construction de formulaires, un gestionnaire Ajax et un shortcode.
- Le gestionnaire Ajax est crucial. Il reçoit l'entrée de l'utilisateur, valide les données et envoie des notifications par e-mail à l'administrateur WordPress à l'aide de
wp_mail()
. Un enregistrement approprié du gestionnaire AJAX est essentiel pour le traitement des demandes AJAX. - Shortcodes Simplifiez l'intégration de la forme. Une fonction génère le HTML du formulaire, qui est ensuite encapsulé dans un shortcode pour une insertion facile dans les poteaux et les pages.
Création du plugin:
- Créez un dossier nommé
ajaxcontactform
dans votre répertoire WordPresswp-content/plugins
. - à l'intérieur, créez
ajaxcontactform.php
avec l'en-tête du plugin suivant:
<?php /* Plugin Name: Ajax Contact Form Plugin URI: (Your Plugin URI) Description: A simple contact form using AJAX. Author: Abbas Suterwala Version: 1.0 Author URI: (Your Author URI) */ ?>
- Activez le plugin dans votre panneau d'administration WordPress.
- Créez un sous-dossier nommé
js
dansajaxcontactform
et ajoutezajaxcontact.js
pour votre code ajax.
- Ajoutez le code PHP suivant à
ajaxcontactform.php
pour définir les constantes, les scripts en fidélisation et localiser l'URL AJAX:
define('ACFSURL', WP_PLUGIN_URL."/".dirname( plugin_basename( __FILE__ ) ) ); define('ACFPATH', WP_PLUGIN_DIR."/".dirname( plugin_basename( __FILE__ ) ) ); function ajaxcontact_enqueuescripts() { wp_enqueue_script('ajaxcontact', ACFSURL.'/js/ajaxcontact.js', array('jquery')); wp_localize_script( 'ajaxcontact', 'ajaxcontactajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action('wp_enqueue_scripts', 'ajaxcontact_enqueuescripts');
Création de formulaire:
La fonction suivante génère le HTML du formulaire de contact:
function ajaxcontact_show_contact() { ?> <div> <div style="background-color:https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bE6E6FA ;color:blue;"></div> <input type="text" id="ajaxcontactname" placeholder="Name"><br> <input type="email" id="ajaxcontactemail" placeholder="Email"><br> <input type="text" id="ajaxcontactsubject" placeholder="Subject"><br> <textarea id="ajaxcontactcontents" placeholder="Message"></textarea><br> <a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b" onclick="ajaxformsendmail(this.form);" style="cursor: pointer">Send Mail</a> </div> <?php }
Ce formulaire sera affiché comme indiqué ci-dessous après avoir été intégré dans une page ou un message:
Ajax Handler:
Cette fonction gère la demande Ajax, valide les données et envoie l'e-mail:
function ajaxcontact_send_mail() { $results = ''; $error = 0; $name = isset($_POST['acfname']) ? sanitize_text_field($_POST['acfname']) : ''; $email = isset($_POST['acfemail']) ? sanitize_email($_POST['acfemail']) : ''; $subject = isset($_POST['acfsubject']) ? sanitize_text_field($_POST['acfsubject']) : ''; $contents = isset($_POST['acfcontents']) ? wp_kses_post($_POST['acfcontents']) : ''; $admin_email = get_option('admin_email'); if (!is_email($email)) { $results = $email." :email address is not valid."; $error = 1; } elseif (empty($name)) { $results = "Name is invalid."; $error = 1; } elseif (empty($subject)) { $results = "Subject is invalid."; $error = 1; } elseif (empty($contents)) { $results = "Content is invalid."; $error = 1; } if ($error == 0) { $headers = 'From: ' . $email . "\r\n"; if (wp_mail($admin_email, $subject, $contents, $headers)) { $results = "*Thanks for your mail."; } else { $results = "*The mail could not be sent."; } } die($results); }
La gestion des erreurs affichera un message comme celui-ci:
Enregistrement du gestionnaire AJAX:
Enregistrez le gestionnaire AJAX:
add_action( 'wp_ajax_nopriv_ajaxcontact_send_mail', 'ajaxcontact_send_mail' ); add_action( 'wp_ajax_ajaxcontact_send_mail', 'ajaxcontact_send_mail' );
Envoi de la demande Ajax (ajaxContact.js):
function ajaxformsendmail(form) { jQuery.ajax({ type: 'POST', url: ajaxcontactajax.ajaxurl, data: { action: 'ajaxcontact_send_mail', acfname: jQuery('https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bajaxcontactname').val(), acfemail: jQuery('https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bajaxcontactemail').val(), acfsubject: jQuery('https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bajaxcontactsubject').val(), acfcontents: jQuery('https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bajaxcontactcontents').val() }, success: function(data, textStatus, XMLHttpRequest) { jQuery('https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bajaxcontact-response').html(data); }, error: function(MLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } }); return false; // Prevent default form submission }
Création du shortcode:
function ajaxcontact_shortcode_func( $atts ) { ob_start(); ajaxcontact_show_contact(); $output = ob_get_clean(); return $output; } add_shortcode( 'ajaxcontact', 'ajaxcontact_shortcode_func' );
Le formulaire rempli apparaîtra comme suit:
Sécurité, personnalisation et fonctionnalités avancées:
Le code fourni n'a pas de mesures de sécurité cruciales (vérification nonce). L'ajout de nonces est fortement recommandé pour empêcher les attaques du CSRF. Une personnalisation plus approfondie (style avec CSS, validation améliorée, intégration CAPTCHA, téléchargements de fichiers, etc.) peut être implémentée sur la base d'exigences spécifiques. La section FAQS dans le texte d'origine fournit des conseils sur ces améliorations. N'oubliez pas de désinfecter toutes les entrées utilisateur pour éviter les vulnérabilités.
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!

WordPressPluginssignificantlyEnHanceitsCmscapabilitiesByOffreringCustalization andfunctionality.1) plus de 50000PluginsallowuserstotailOrtheiSiteForseo, e-cowirce, andsecurit

Oui, WordPress est très adapté au commerce électronique. 1) Avec le plugin WooCommerce, WordPress peut rapidement devenir une boutique en ligne entièrement fonctionnelle. 2) Faites attention à l'optimisation et à la sécurité des performances, et les mises à jour régulières et l'utilisation de caches et de plug-ins de sécurité sont la clé. 3) WordPress offre une multitude d'options de personnalisation pour améliorer l'expérience utilisateur et optimiser considérablement le référencement.

Voulez-vous connecter votre site Web aux outils de webmaster Yandex? Des outils de webmaster tels que Google Search Console, Bing et Yandex peuvent vous aider à optimiser votre site Web, à surveiller le trafic, à gérer Robots.txt, à vérifier les erreurs du site Web, etc. Dans cet article, nous partagerons comment ajouter votre site Web WordPress à l'outil de webmaster Yandex pour surveiller le trafic de votre moteur de recherche. Qu'est-ce que Yandex? Yandex est un moteur de recherche populaire basé en Russie, similaire à Google et Bing. Vous pouvez exceller dans Yandex

Avez-vous besoin de corriger les erreurs de téléchargement d'images HTTP dans WordPress? Cette erreur peut être particulièrement frustrant lorsque vous créez du contenu dans WordPress. Cela se produit généralement lorsque vous téléchargez des images ou d'autres fichiers sur votre CMS à l'aide de la bibliothèque de médias WordPress intégrée. Dans cet article, nous vous montrerons comment corriger facilement les erreurs de téléchargement d'images HTTP dans WordPress. Quelle est la raison des erreurs HTTP lors du téléchargement des médias WordPress? Lorsque vous essayez de télécharger des fichiers sur WO à l'aide de WordPress Media Uploader

Récemment, l'un de nos lecteurs a rapporté que le bouton ADD Media sur leur site WordPress a soudainement cessé de fonctionner. Ce problème d'éditeur classique ne montre aucune erreur ou avertisseur, ce qui rend l'utilisateur ignorant pourquoi leur bouton "Ajouter un support" ne fonctionne pas. Dans cet article, nous vous montrerons comment réparer facilement le bouton Ajouter un média dans WordPress qui ne fonctionne pas. Qu'est-ce qui fait que le bouton WordPress "Ajouter des médias" arrête de fonctionner? Si vous utilisez toujours l'ancien éditeur WordPress classique, le bouton ADD Media vous permet d'insérer des images, des vidéos et plus dans votre article de blog.

Voulez-vous savoir comment utiliser des cookies sur votre site Web WordPress? Les cookies sont des outils utiles pour stocker des informations temporaires dans les navigateurs des utilisateurs. Vous pouvez utiliser ces informations pour améliorer l'expérience utilisateur par le biais de personnalisation et de ciblage comportemental. Dans ce guide ultime, nous vous montrerons comment définir, obtenir et supprimer les cookies WordPress comme un professionnel. Remarque: Il s'agit d'un tutoriel avancé. Il vous oblige à maîtriser HTML, CSS, WordPress sites Web et PHP. Que sont les cookies? Les cookies sont créés et stockés lorsque les utilisateurs visitent les sites Web.

Voyez-vous l'erreur "429 trop de demandes" sur votre site Web WordPress? Ce message d'erreur signifie que l'utilisateur envoie trop de demandes HTTP au serveur de votre site Web. Cette erreur peut être très frustrante car il est difficile de savoir ce qui cause l'erreur. Dans cet article, nous vous montrerons comment réparer facilement l'erreur "WordPress429ToomanyRequests". Qu'est-ce qui cause trop de demandes pour WordPress429? La cause la plus courante de l'erreur "429ToomanyRequests" est que l'utilisateur, le bot ou le script tente d'aller sur le site Web

WordPressCanHandleLargewebsiteswithCarefulPlanningandoptimization.1) UseCachingToreduceServer.2) optimiseryourdatabaseragular.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.
