Explication détaillée du système de crochet WordPress: actions, filtres et crochets
WordPress utilise un modèle d'architecture basé sur des événements où les composants, les thèmes et les plugins de base déclenchent des événements à travers des crochets (crochets) à différentes étapes de l'exécution ou de l'interprétation PHP. Les crochets sont principalement divisés en actions et filtres: les actions sont utilisées pour ajouter ou supprimer les fonctions à différentes étapes de l'exécution de processus;
Le système de crochet de WordPress améliore l'évolutivité de la plate-forme, permettant d'ajouter, de supprimer et de modifier les fonctionnalités dans le code, les plugins et les thèmes de base, afin que les développeurs puissent étendre les plugins et les thèmes sans modifier le code source de base.
Les systèmes de crochets sont déclenchés à différentes étapes de l'exécution de WordPress et sont généralement utilisés avec les fonctions PHP do_actions()
et apply_filters()
. Ces événements peuvent être abonnés ou montés via add_action()
et add_filter()
. Cet article montrera comment les actions et les filtres sont utilisés à travers des exemples.
La signification des crochets, des actions et des filtres
Les crochets se réfèrent aux événements déclenchés par des noyaux, des thèmes et des plugins WordPress à différentes étapes de l'exécution ou de l'interprétation PHP. Lorsque ces événements sont déclenchés, toutes les fonctions et / ou les méthodes de classe sont montées sur ces événements seront exécutées dans le bon ordre.
Les actions et les filtres sont deux types de crochets: les actions sont utilisées pour ajouter ou supprimer les fonctions à différentes étapes de l'exécution de processus;
L'importance du système de crochet WordPress
L'importance d'un système de crochet WordPress réside dans son évolutivité. Il permet d'ajouter et de supprimer les fonctionnalités, ainsi que de modifier / modifier les implémentations des fonctionnalités dans les cœurs, les plugins et les thèmes WordPress.
Écriture de plugins et de thèmes extensibles qui permettent à d'autres développeurs de les améliorer et de les étendre sans modifier le code source de base.
Par exemple, mon plugin de passerelle de paiement WooCommerce 2Checkout n'inclut pas les icônes affichant des types de cartes de crédit pris en charge sur la page de paiement, car je pense que c'est inutile. Cependant, j'ai ajouté un filtre au cas où l'utilisateur a des besoins différents.
Nous avons reçu une demande de support client pour que l'icône soit incluse. Nous sommes en mesure de fournir au client un extrait de code qui s'accroche au filtre et contient l'icône.
Discussion approfondie du système de crochet WordPress
À différentes étapes de l'exécution de WordPress, un grand nombre d'événements sont déclenchés et les fonctions do_actions()
et apply_filters()
PHP sont généralement utilisées. Ces événements peuvent être abonnés ou montés via add_action()
et add_filter()
.
Ce qui suit est un exemple d'action dans un plugin. Cette action se déclenche après avoir réussi à enregistrer un utilisateur dans mon plugin d'enregistrement d'utilisateur ProfilePress:
/** * Fires after a user registration is completed. * * @param int $form_id ID of the registration form. * @param mixed $user_data array of registered user info. * @param int $user_id ID of the registered user. */ do_action( 'pp_after_registration', $form_id, $user_data, $user_id );
Toutes les fonctions attachées à cette action sont traitées lors de l'exécution de WordPress.
the_content
dans WordPress Core est un exemple de crochet filtrant qui filtre le contenu de chaque message:
/** * Fires after a user registration is completed. * * @param int $form_id ID of the registration form. * @param mixed $user_data array of registered user info. * @param int $user_id ID of the registered user. */ do_action( 'pp_after_registration', $form_id, $user_data, $user_id );
Remarque:
Dans do_actions()
, le premier paramètre est le nom du crochet d'action, et les paramètres suivants sont des variables qui peuvent être utilisées pour s'accrocher à la fonction d'action.
Dans apply_filters()
, le premier paramètre est le nom du crochet de filtre, et le deuxième paramètre est les données ou la valeur que la fonction est attachée au filtre pour la modification ou l'application. Les paramètres suivants sont des variables / valeurs qui peuvent être utilisées pour se fixer au filtre.
Exemple de crochet d'action
Exemple # 1:
En utilisant l'action pp_after_registration
du plugin ProfilePress, en supposant que nous souhaitons implémenter une fonctionnalité, l'utilisateur recevra un message de bienvenue immédiatement après l'enregistrement (via l'hypothétique SMS Service Dolio). Notre crochet de fonction peut être comme ceci:
/** * Filter the post content. * * @since 0.71 * * @param string $content Content of the current post. */ $content = apply_filters( 'the_content', $content );
add_action
est la priorité de crochet, qui spécifie l'ordre d'exécution des fonctions attachées à pp_after_registration
Action. Laisser vider sera par défaut à 10. Le quatrième paramètre spécifie le nombre de paramètres que le crochet de fonction acceptera. Laisser vide sera par défaut à 1.
Exemple # 2:
WordPress contient les crochets d'action suivants: wp_head
et wp_footer
, qui sont tirés avant l'étiquette de tête frontale et la balise corporelle, respectivement.
Ces crochets peuvent être utilisés pour afficher les scripts et les données dans ces emplacements stratégiques.
(Le contenu suivant est similaire au texte d'origine. Pour éviter la duplication, les exemples restants et les conclusions du crochet d'action et du crochet filtrant sont omis ici)
(La partie FAQ est également omise pour des raisons de longueur)
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!