Maison  >  Article  >  développement back-end  >  Analyser l'utilisation des hooks dans WordPress

Analyser l'utilisation des hooks dans WordPress

*文
*文original
2017-12-27 17:59:482178parcourir

Cet article présente principalement le rôle et l'utilisation de base des hooks dans les fonctions d'analyse dans WordPress. Les hooks sont une utilisation importante des fonctions d'appel dans WordPress et constituent également la base du développement de plug-ins. J'espère que cela aide tout le monde.

Le mécanisme de plug-in de WordPress n'est en fait que ce Hook. Il est traduit en hook en chinois et vous permet de participer au fonctionnement du noyau de WordPress. C'est une bonne chose. ci-dessous.
Classification des crochets

Les crochets sont divisés en deux types, l'un est appelé action et l'autre est appelé filtre. Les principes d'implémentation de ces deux hooks sont fondamentalement les mêmes. Comme nous le mentionnerons plus tard, la différence d'utilisation est que les filtres ont des valeurs de retour, mais pas les actions. L'idée des actions

est de vous permettre d'effectuer certaines fonctions dans une situation ou un emplacement particulier, comme l'envoi d'un email, etc. ; les filtres vous permettent de modifier une valeur que le noyau WordPress doit utiliser ; , puis WordPress Utilisez ensuite ces valeurs pour faire quelque chose, comme la valeur de retour de la fonction, etc.

Action hook

wp_head est un action hook très couramment utilisé pendant le processus de développement du thème, les développeurs ajouteront la fonction wp_head() à la balise head. , c'est cette fonction qui appelle le hook wp_head.

Si le développeur du plugin souhaite ajouter une phrase dans la balise head, il peut utiliser le hook wp_head. Voici un exemple simple.


//在 head 标签添加一些内容
function Bing_add_head_tag(){
  echo '添加内容';
}
add_action( 'wp_head', 'Bing_add_head_tag' );


Après avoir ajouté le code, affichez le code source de la page Web frontale et vous pourrez voir le contenu nous avons ajouté la balise head.

20151222154540066.png (437×83)

Ce qui précède est un exemple simple, il suffit d'imprimer une phrase. En utilisant ce hook, nous pouvons également créer un plug-in qui envoie un e-mail à l'administrateur lorsqu'il rencontre une page 404. Nous en avons simplement écrit un ci-dessous.


//遇到 404 页面给管理员发送邮件
function Bing_404_page_mail(){
  if( !is_404() ) return;//如果不是 404 页面就退出函数
  $to = get_option( 'admin_email' );//获取管理员地址
  $subject = '遇到 404 页面啦!';//邮件标题
  $message = '404 页面的地址:http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];//邮件内容
  wp_mail( $to, $subject, $message );//发送邮件
}
add_action( 'wp_head', 'Bing_404_page_mail' );


Crochets filtrants

Basé sur mon expérience personnelle, les hooks de filtre peuvent être difficiles à comprendre, en particulier pour les personnes qui ne sont pas familières avec PHP.

Les hooks de filtre vous permettent de modifier la valeur de quelque chose. La fonction de rappel de filtre acceptera un paramètre, qui est la valeur actuelle. Rappelez-vous la fonction the_content() utilisée pour appeler le contenu de l'article. Cette fonction fournit un filtre the_content.

Ajouter une fonction au hook the_content. Cette fonction doit recevoir un paramètre, qui est la valeur actuelle.


//文章内容全部链接新窗口打开
function Bing_autoblank( $content ){//$content 变量就是文章内容,因为其它过滤器也要过滤,所以这个内容可能是经过其它函数过滤的
  $content = str_replace( &#39;<a&#39;, &#39;<a target="_blank"&#39;, $content );//添加 target="_blank"
  return $content;//必须要把过滤后的内容返回回去,否则值就丢了
}
add_filter( &#39;the_content&#39;, &#39;Bing_autoblank&#39; );


Principe du crochet

En fait, lors de l'appel de add_action() et Lors de l'ajout de_filter(), il ajoute uniquement un élément de tableau à la variable globale $wp_filter. De plus, l'action et le filtre sont une variable globale commune, c'est-à-dire que le filtre et l'action ne peuvent pas avoir le même nom.

Lorsque do_action() est appelé, il trouvera les fonctions ajoutées à cette action dans la variable globale $wp_filter et les exécutera en boucle.

apply_filters() a une étape de plus que do_action(), qui consiste à recevoir la valeur de retour de cette fonction à chaque fois qu'elle est appelée, et enfin à renvoyer la valeur qui a été filtrée plusieurs fois pour être utilisée.

Obtenir la liste de crochets actuelle
Les actions et les filtres WordPress sont la partie essentielle du mécanisme du plug-in, vous permettant d'ajouter activement les actions que vous devez effectuer à des endroits spécifiques, généralement en utilisant add_action() et Fonctions add_filter() Fonction de montage.

Ces hooks sont stockés dans la variable globale $wp_filter, donc pour obtenir la liste des hooks, vous pouvez directement obtenir la variable globale $wp_filter.


<pre class="brush:php;toolbar:false"><?php var_dump( $GLOBALS[&#39;wp_filter&#39;] ); ?>


Le code ci-dessus imprimera la liste des crochets.

20151222154645343.png (388×432)

Recommandations associées :

Comment définir les paramètres généraux dans WordPress

Un tutoriel pratique sur le développement de mini programmes WeChat à l'aide de WordPress

WordPress pour créer et obtenir la fonction PHP des barres latérales exemples

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:
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