Maison > développement back-end > tutoriel php > Ajout de crochets personnalisés dans WordPress: Actions personnalisées

Ajout de crochets personnalisés dans WordPress: Actions personnalisées

Lisa Kudrow
Libérer: 2025-03-02 09:56:09
original
1007 Les gens l'ont consulté

L'une des pierres angulaires de la construction de solutions personnalisées dans WordPress est de comprendre les crochets. En eux-mêmes, ils ne sont pas terriblement difficiles à comprendre, et nous nous couvrirons une courte amorce sur ce tutoriel.

Mais si vous cherchez à vous lancer dans le développement WordPress plus avancé, il vaut la peine de savoir comment mettre en œuvre vos propres crochets. Filtres.

Pour démarrer

Avant de commencer, ce tutoriel suppose que vous avez un environnement de développement local configuré qui comprend la dernière copie de WordPress. Au moment d'écrire ces lignes, il s'agit de WordPress 6.0.1.

Si vous avez besoin de conseils sur la mise en place de votre environnement de développement, veuillez consulter ce didacticiel. Il vous fournira tout ce que vous devez savoir pour vous mettre en place avec un serveur Web, une copie de PHP, une base de données et WordPress.

Si vous cherchez encore plus, la série dans laquelle ce tutoriel est inclus fournit encore plus d'informations telles que l'installation de WordPress, ce tutrial de thèmes et de plugins, et plus. Donc, une fois que vous êtes tous configurés, commençons.

Que sont les crochets?

Avant de consulter de près les crochets WordPress, il vaut la peine de comprendre le modèle de conception axé sur l'événement (qui vous est également appelé architecture axée sur l'événement). Sachez qu'il avait un nom officiel.

Quoi qu'il en soit, c'est ainsi qu'il est défini dans Wikipedia:

Architecture axée sur l'événement (EDA), également connu sous le nom d'architecture axée sur les messages, est un modèle d'architecture logicielle promouvant la production, la détection, la consommation de motifs de conception et de réaction. C'est comme ceci:

Le logiciel a certains points dans lesquels il diffuse un message selon lequel quelque chose s'est produit.

Nous, en tant que développeurs, sommes en mesure d'écrire du code qui écoute ce message, puis nous répondons bien à la production d'événements. Lorsque nous allons parler de la définition de nos propres crochets, nous revisiterons ce sujet. Pour l'instant, regardons deux événements communs dans le développement Web.
En utilisant JavaScript

d'abord, imaginez que vous travaillez dans le développement frontal. Vous avez un bouton avec l'attribut ID de Add_action ()
    Fonction pour spécifier la fonction de rappel qui sera exécutée lorsque le crochet d'action est exécuté. Dans notre cas, il dit à WordPress d'exécuter une fonction nommée admin_menu
  • Le crochet d'action est licencié.
  • La fonction add_submenu_page () détermine où apparaîtrait l'option de menu. La première option est le Slug Parent, qui est défini sur outils.php et notre nouveau sous-menu commencera à apparaître sous outils . Voici les captures d'écran:

    Ajout de crochets personnalisés dans WordPress: Actions personnalisées

    Vous pouvez visiter le codex pour en savoir plus sur le crochet init qui existe dans WordPress. Le crochet d'action init tire au début du cycle de vie WordPress et est un bon moment pour enregistrer un type de poste personnalisé.

    Ensuite, nous devons définir la fonction.

<?php<br>function tutsplus_register_post_type() {<br>  <br>}<br>
Copier après la connexion

La clé pour comprendre la signature de cette fonction est simple: nous l'avons nommé init Hook, nous devons nous assurer que notre crochet est licencié pendant l'initiation Hook:

<?php<br>add_action( 'init', 'tutsplus_register_custom_post_type' );<br>function tutsplus_register_custom_post_type() {<br><br>  // Set the action at priority of 10 and note that it accepts 2 arguments.<br>  do_action( 'tutsplus_register_custom_post_type', 10, 2 );<br><br>}<br>
Copier après la connexion

do_action()

register_post_type

<?php<br><br>function tutsplus_register_post_type( $singular, $plural ) {<br><br>  $args = array(<br>      'label'  => $plural,<br>  	'labels' => array(<br>  		'name'          => $plural,<br>  		'singular_name' => $singular,<br>  		'add_new_item'  => 'Add New Traveler',<br>  		'edit_item'     => 'Edit Traveler',<br>  		'new_item'      => 'New Traveler',<br>  		'view_item'     => 'View Traveler',<br>  		'search_items'  => 'Search Travelers',<br>  		'not_found'     => 'No Travelers',<br>  	),<br>  	'description' => 'A post type used to provide information on Time Travelers.',<br>  	'public'      => true,<br>  	'show_ui'     => true,<br>  	'supports'    => array(<br>  		'title',<br>  		'editor',<br>  		'excerpt',<br>  	),<br>  );<br><br>  register_post_type( 'time_traveler', $args );<br><br>}<br>
Copier après la connexion

do_action ()
<?php<br>add_action( 'tutsplus_register_custom_post_type', 'tutsplus_register_time_traveler_type' );<br>function tutsplus_register_time_traveler_type() {<br>  tutsplus_register_post_type( 'Time Traveler', 'Time Travelers' );<br>}<br>
Copier après la connexion
. Le premier paramètre est de 10, ce qui indique la priorité dans laquelle ce crochet tirera.

Cela peut être n'importe quel nombre où plus le nombre est élevé, plus la liste des priorités est plus élevée. En d'autres termes, une valeur inférieure signifie que la fonction de rappel sera exécutée plus tôt. Une valeur plus élevée signifie que le code sera exécuté ultérieurement.  Le deuxième paramètre est le nombre d'arguments que le crochet personnalisé acceptera. Dans notre cas, il y en a un pour la version singulière du type de poste, et il y en a une pour la version plurielle du type de poste.

Après cela, nous devons donner des fonctionnalités à ce crochet. Ici, nous refactons le code pour enregistrer un type de message afin qu'il accepte deux arguments, et ces deux arguments seront utilisés dans le tableau transmis à la fonction register_post_type <p> de WordPress. Au lieu de cela, nous l'appellerons à partir de la définition d'une fonction qui est accrochée à notre action personnalisée. <code>tutsplus_register_custom_post_type init

Dans le code ci-dessus, nous sommes en mesure de passer à la fonction responsable de l'enregistrement du type de poste personnalisé, tout en passant nos propres arguments afin que nous puissions ajouter un peu de fonctionnalités personnalisées au code. flexibilité pour nous en tant que développeurs. On peut soutenir que la chose la plus déroutante à propos du code ci-dessus est la façon dont nous définissons un crochet dans le contexte d'un autre crochet (c'est-à-dire que nous définissons TUTSPLUS_REGISTER_CUSTOM_POST_TYPE <p> dans <code> init

).

admin_notices J'ai choisi de donner cela comme un exemple final, car vous pouvez vous inscrire à un crochet personnalisé et qu'il faut avant le feu avant qu'un exemple, vous pouvez vous inscrire à un crochet personnalisé pour le feu avant un exemple. terminé.

L'enregistrement d'un crochet pour se tenir seul est facile: vous ne l'accrochez tout simplement pas à un crochet préexistant, et vous faites un appel de fonction de base comme nous l'avons vu avec le code accroché à admin_notices . <p> Dans le prochain article de cette série, nous allons jeter un œil aux filtres et ce qu'ils peuvent faire pour nous en termes de modification des données. Nous examinerons également comment définir nos propres filtres afin que nous puissions introduire des fonctionnalités personnalisées comme nous l'avons fait dans ce tutoriel. </p> <p> <em> Ce message a été mis à jour avec les contributions de Nitish Kumar. Nitish est un développeur Web ayant une expérience dans la création de sites Web de commerce électronique sur diverses plateformes. Il passe son temps libre à travailler sur des projets personnels qui facilitent sa vie quotidienne ou à faire de longues promenades en soirée avec des amis. </em> </p>

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal