WordPress Hooks:操作、过滤器和示例 [2019 年更新]

很多 WordPress 初学者可能会问一个问题:什么是 WordPress Hook,它们有什么用?

WordPress 是一个高度可定制的 CMS,允许用户根据自己的规范进行更改。一些用户仅使用外观功能自定义他们的 WordPress 网站,而其他用户则使用 WordPress Hooks 添加自定义功能。

目录

  1. 什么是 WordPress 挂钩?
    • 动作挂钩
    • 过滤器挂钩
  2. 如何使用 WordPress Hook?
    • 动作挂钩示例
    • 过滤器挂钩示例

在本指南中,我将解释 WordPress 中的钩子以及如何使用它们来修改或创建 WordPress 中的特定功能。

什么是 WordPress 挂钩?

WordPress Codex 将挂钩定义为 WordPress 主题和插件与 WordPress 核心交互的桥梁。钩子的功能允许开发人员将他们的自定义代码与 WordPress 核心中存在的默认函数连接起来。

可以肯定地说,挂钩是自定义 PHP 函数,可以使用或挂钩来更改默认的 WordPress 行为,而不会影响核心文件。 Hooks 允许 WordPress 与plugins 和functions.php 文件中存在的自定义代码进行交互。

挂钩有两种类型;操作挂钩过滤器挂钩

动作挂钩

操作挂钩在特定时间执行以执行特定任务,例如显示输出或向数据库添加数据。操作挂钩不返回任何值,它们仅在被调用时执行特定任务。

例如;每当创建新类别时, create_category函数就会运行,并且不会返回任何内容。

过滤器挂钩

另一方面,过滤器挂钩允许您在 WordPress 执行期间更改数据。连接到过滤器的函数接受变量并返回一个值。有些过滤器还接受多个参数。

例如; add_filter('the_title', 'strrev');接受字符串作为参数并返回该字符串的反转。

过滤器用于处理特定任务,它们可以修改数据并始终在最后返回一些内容。

如何使用 WordPress Hook?

现在我们已经了解了 WordPress 挂钩的基本概念,让我们继续看看操作和过滤器的实际效果。

动作挂钩示例

有超过 200 个可用的钩子,因此覆盖所有钩子并不是一个好主意。不过,为了帮助您入门,我将向您展示一个简单的示例,然后解释我所做的事情。

示例 1:管理区域中的自定义菜单

1234 个功能 自定义菜单( ) { 添加菜单页 '自定义菜单标题' , '自定义菜单' , '管理选项' , 'testplugin/testplugin-admin.php' , '' , 'dashicons-admin-site' , 6 }添加动作 '管理菜单' , '自定义菜单'

让我们逐行检查上面的代码。

在代码的第一行中,我为我的函数命名了。在第二行中,我调用另一个函数,其中包含一些参数。最后,我将自定义函数附加到“admin_menu”的操作挂钩,每当生成管理菜单时,它将运行我的函数。

示例 2:在标题后添加自定义文本

12345678 // 在 header函数后添加自定义文本 添加自定义文本( ) {   如果 is_front_page ( )     返回;    // 回显 html   回声 "<div>享受夏季特别折扣 20%</div>" ; }添加动作 '__after_header' , '添加自定义文本'

在上面的代码中,如果当前页面不是主页,则该函数将不会显示自定义文本。这基本上意味着自定义文本只会显示在您网站的主页上。

在代码片段的末尾,我将自定义代码附加到操作挂钩'__after_header'

同样,您可以尝试其他操作挂钩并创建自定义功能。

过滤器挂钩示例

与操作挂钩不同,过滤器接受参数并返回一个值。让我们看一下示例并了解如何使用它们。

示例 1:更改摘录长度

1234功能 摘录长度示例 $字数 { 返回 15 }添加过滤器 '摘录长度' , '摘录长度示例'

在上面的代码中,我利用了 WordPress 过滤器“excerpt_length”之一,并将其与我的自定义代码挂钩,该代码为我的新摘录长度返回数值 15。

示例 2:更改标题

12345 更改标题( $标题) {返回 '着迷:' $标题; }添加过滤器 '标题' '更改标题'

在这个简单的示例中,我只是定义了一个用于更改帖子标题的自定义函数。后来,我将它连接到过滤器'the_title'

包起来!

WordPress 挂钩对于将自定义功能与 WordPress 的核心功能连接起来非常有用。在本指南中,我们了解了 Action 和 Filter 挂钩的不同之处,以及如何在 WordPress 网站内的不同位置使用它们。

如果您有任何疑问,或者您对本文中的任何概念感到困惑,请在下面的评论部分告诉我,我会回复您!

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号