这是一个很多WordPress初学者可能会问的问题:什么是WordPress Hooks,它们可以用于什么?
嗯,WordPress是一个高度可定制的CMS,允许其用户根据他们的规格进行更改。有些用户只使用外观功能自定义WordPress网站,而其余用户则使用WordPress Hooks添加自定义功能。
表中的内容
- 什么是WordPress钩子?
- 行动钩子
- 过滤钩子
- 如何使用WordPress挂钩?
- 动作挂钩示例
- 过滤钩示例
在本指南中,我将解释WordPress中的钩子以及它们如何用于修改或创建WordPress中的特定功能。
什么是WordPress钩子?
WordPress Codex将钩子定义为WordPress主题和插件与WordPress核心交互的桥梁。钩子的功能允许开发人员将他们的自定义代码与WordPress核心中的默认函数相连接。
可以肯定地说,钩子是自定义PHP函数,可以使用或挂钩来改变默认的WordPress行为,而不会影响核心文件。钩子允许WordPress与插件和functions.php文件中的自定义代码进行交互。
有两种类型的钩子;动作挂钩和过滤器挂钩。
行动钩子
动作挂钩在特定时间执行,以执行某项任务,如显示输出或向数据库添加数据。 Action钩子不返回任何值,它们仅在被调用时执行某个任务。
例如; create_category函数在创建新类别时运行,并且不返回任何内容。
过滤钩子
过滤器Hooks允许您在执行WordPress期间更改数据。连接到Filters的函数接受变量并返回值。某些过滤器也接受多个参数。
例如; add_filter('the_title','strrev');接受字符串作为参数并返回该字符串的反向。
过滤器用于处理特定任务,他们可以修改数据并始终返回一些内容。
如何使用WordPress挂钩?
现在我们已经了解了WordPress钩子的基本概念,让我们继续前进,看看Action和Filters的实际应用。
动作挂钩示例
有超过200个钩子,所以覆盖它们都不是一个好主意。但是,为了让你开始,我将向你展示一个简单的例子然后我会解释我做了什么。
示例1:管理区域中的自定义菜单
function custom_menu(){
add_menu_page('custom menu title','custom menu','manage_options','testplugin / testplugin-admin.php','','dashicons-admin-site',6);
}
add_action('admin_menu','custom_menu');
让我们一行一行地检查上面的代码。
在代码的第一行,我为我的函数命名。在第二行中,我正在调用另一个带有一些参数的函数。最后,我使用'admin_menu'的Action钩子附加了我的自定义函数,它将在生成管理菜单时运行我的函数。
示例2:在标题后添加自定义文本
//在标题后添加自定义文本
function add_custom_text(){
if(!is_front_page())
返回;
//回应html
回声“
“;
}
add_action('__after_header','add_custom_text');
在上面的代码中,如果当前页面不是主页,则该功能将不显示自定义文本。这基本上意味着自定义文本只会显示在您网站的主页上。
在代码片段的末尾,我将自定义代码附加到Action钩子'__after_header'。
同样,您可以尝试其他Action挂钩并创建自定义功能。
过滤钩示例
与Action钩子不同,Filters接受参数并返回值。让我们看一下示例,看看如何使用它们。
示例1:更改摘录长度
function excerpt_length_example($ words){
返回15;
}
add_filter('excerpt_length','excerpt_length_example');
在上面的代码中,我利用其中一个WordPress过滤器'excerpt_length'并将其与我的自定义代码挂钩,该代码为我的新摘录长度返回15的数值。
示例2:更改标题
//更改标题
function change_title($ title){
返回'Hooked:'。$ title;
}
add_filter('the_title','change_title');
在这个简单的例子中,我只是定义了一个用于更改帖子标题的自定义函数。后来,我把它连接到过滤器'the_title'。
把它总结!
WordPress挂钩在将自定义功能与WordPress的核心功能相关联时非常有用。在本指南中,我们了解了Action和Filter挂钩的不同之处以及如何在WordPress站点内的各个位置使用它们。
如果您有任何疑问,或者您对文章中的任何概念感到困惑,请在下面的评论部分告诉我,我会尽快回复您!
帖子WordPress Hooks – 你需要知道的一切首先出现在WPblog上。