Maison >Tutoriel CMS >WordPresse >Activation des téléchargements de fichiers ajax dans votre plugin WordPress
Cet article montre comment implémenter efficacement les téléchargements de fichiers AJAX dans un plugin WordPress en tirant parti de WordPress Core async-upload.php
. Cette approche garantit la qualité du code et simplifie le développement, en contournant la nécessité de construire une solution à partir de zéro.
La stratégie de base consiste à utiliser le fichier async-upload.php
existant pour les téléchargements asynchrones, déjà validé et sécurisé dans le noyau WordPress. Cette méthode offre plusieurs avantages: qualité de code établie, validation intégrée et vérification des privilèges préexistants.
Avantages clés de l'utilisation de async-upload.php
:
Exigences essentielles:
La mise en œuvre réussie de cette méthode dépend de l'adhésion à des règles spécifiques:
Nom de l'entrée du fichier: L'attribut de l'entrée du fichier name
doit être défini sur "async-upload". Il s'agit d'une exigence critique pour la compatibilité avec wp_ajax_upload_attachment
et media_handle_upload
.
Validation nonce: La demande AJAX doit inclure un nonce en utilisant la clé _wpnonce
, générée avec wp_create_nonce('media-form')
. Cela garantit l'authenticité.
Clé d'action: Les données de la demande AJAX doivent contenir une clé "Action" avec la valeur "téléchargement d'attachement". Cela déclenche la fonction WordPress correcte dans async-upload.php
.
Présentation du plugin:
Pour illustrer cette technique, un simple plugin est créé permettant aux utilisateurs enregistrés de soumettre des images pour un concours. Les fonctionnalités du plugin:
Fonctionnalité du plugin (exclusions):
Pour la brièveté, le plugin n'inclut pas inclut:
Implémentation du plugin:
La structure du plugin est détaillée ci-dessous:
<code>wp-content/ |-- plugins/ |-- sitepoint-upload/ |-- js/ | |-- script.js |--sitepoint-upload.php</code>
Le fichier sitepoint-upload.php
contient l'en-tête du plugin et les fonctions nécessaires pour les scripts d'étanchéité, l'enregistrement de shortcodes et la gestion des rappels AJAX. Le fichier script.js
gère les interactions frontend ajax.
Le JavaScript du plugin (script.js
) gère le processus de téléchargement Ajax, y compris les indicateurs de progression, la gestion des erreurs et les aperçus d'images. Le code PHP comprend une fonction de rappel AJAX (su_image_submission_cb
) pour traiter les soumissions et informer l'administrateur par e-mail. Le plugin modifie également le rôle d'abonné pour accorder upload_files
la capacité.
Améliorations supplémentaires:
L'article suggère plusieurs améliorations pour le développement futur, notamment:
Conclusion:
Cette méthode fournit une approche robuste et efficace des téléchargements de fichiers AJAX dans les plugins WordPress. En tirant parti des fonctionnalités de base WordPress existantes, les développeurs peuvent gagner du temps et assurer une implémentation sécurisée et de haute qualité. Le code source complet est disponible sur github (lien non fourni dans le texte d'origine).
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!