WordPress挂钩:初学者指南

WordPress挂钩

正在尝试对WordPress网站进行一些更改?HTML和CSS只能做到这一点。

如果您需要更改WordPress的行为方式,但找不到满足您需要的主题或插件,那么WordPress挂钩可能是您需要的答案。

理解挂钩是学习如何修改或创建插件和主题的重要步骤。但是,如果您尝试寻找钩子的确切含义及其工作方式的答案,您可能会找到大多数为开发人员编写的技术文章。

如果您是初学者,或者不知道如何编写代码,并且想了解挂钩,那该怎么办?

本文将为初学者解释WordPress挂钩,并教您如何使用它们自信地修改自己的WordPress站点。

WordPress中的几乎所有内容都使用挂钩,所以一旦理解了这个概念,就可以修改几乎所有内容。

什么是WordPress挂钩?

把你的WordPress网站想象成一个巨大的、混合媒体的拼贴在墙上。与飞溅的油漆、升级的贺卡和杂志剪贴画(你的主题、插件和内容)混合在一起的是一些挂钩。

这些挂钩就在那里,你可以在拼贴画中添加自己的作品,并根据自己的喜好进行定制。

WordPress挂钩就是这样工作的,允许您在某些位置“挂起”自己的代码。

您还可以将挂钩视为触发器。根据您使用的特定挂钩,您的代码将在某些区域触发。

以下是WordPress codex如何描述挂钩:

WordPress提供了挂钩,允许您的插件“挂钩”到WordPress的其余部分;也就是说,在特定时间调用插件中的函数,从而启动插件

有两种挂钩:行动过滤器.

WordPress动作挂钩隐喻

动作挂钩将自定义函数设置为使用特定的WordPress事件触发。

比方说,你正在等待一个重要的包裹在周六到达你的家,但你有差事要办,不能在家里等着签收。所以你去找你的邻居萨拉,让她在你的包裹到达时签名。

如果您的请求是WordPress挂钩,则如下所示:

函数sign\u for\u package($sara\u is\u home){if($sara\u is\u home){echo“我将为该包签名!”;}}添加\u操作(“when\u package\u arrives”,“sign\u for\u package”,10,1);

在上面的示例中,代码等待包到达,然后发送Sara进行签名(如果她在家!)。

数字10和1是什么?

第一个数字设置功能的优先级:它应该在其他功能之前还是之后执行?默认值为10,因此我们将保留该值。大多数时候,这不会有什么不同。

第二个数字是函数中参数或变量的数量。我们只是使用变量$sara\u is\u home,所以它设置为1。

WordPress过滤器挂钩隐喻

过滤器挂钩是在对数据采取操作之前更改或过滤数据的函数。

假设Sara同意为你的包裹签名,如果你同意下次狗叫得太大声时让它安静下来。

我们可以为她的请求创建一个过滤器挂钩:

函数quiet\u down($dog){$dog=str\u replace(“bark”,“silence”,$dog);return$dog;}添加过滤器(dog\u barking、“quiet\u down”);

有了这个过滤器,触发的是狗叫。当这种情况发生时,每一声吠叫都被沉默所取代。

这是一个过滤器,而不是一个动作,因为我们正在改变已经存在的东西(吠叫变成沉默),而不是添加新的东西。

一个有用的现实例子

“所以,”你可能会想,“我真希望我能用WordPress过滤器阻止邻居的狗吠叫,但我做不到。动作和过滤器有什么实际用途?”

在每篇文章后添加内容,即使是在RSS中

假设你想在每篇帖子后自动添加一点内容。

你可以通过修改你的单曲来做到这一点。php模板文件,或通过使用after post小部件区域。但是使用这两种方法中的任何一种,您的新内容都不会显示在RSS提要中。

为了修改内容,使其显示在RSS提要中,您可以使用过滤器:

函数位于\u post\u content($content){if(!is\u feed()&&!is\u home()){$content。='像这篇文章吗?';$content。='”http://example.com/subscribe“>订阅我们的新闻稿!

”;}返回$内容;}添加\u过滤器('the\u content','after\u post\u content');

这是一个过滤器,而不是一个操作,因为您正在修改帖子的内容,而不是添加一个全新的功能。

WordPress挂钩可以添加到函数的末尾。当前主题目录中的php文件。您还可以使用它们创建自己的插件。一定要备份您的站点在进行任何更改之前。

需要记住的几件事

查看WordPress的PHP编码标准

在开始创建自己的操作和过滤器之前,请查看WordPress的PHP编码标准.

WordPress是一个协作项目,您的功能将不仅与WordPress核心交互,还与其他主题和插件交互。如果我们都以一致的方式使用代码,那么它可以帮助每个人相处融洽,一起玩得很好。

为函数使用唯一名称

创建自己的钩子函数时,请确保使用唯一的名称。如果你碰巧使用了一个已经在你的网站上使用的函数名,它可能会使你的整个网站突然停止。

标准做法是使用与主题或插件名称匹配的前缀。例如,如果您正在创建一个名为Awesome WordPress plugin的插件,那么您可以在所有函数的前面加上awp\ux。

使用大量注释

注释不仅对其他人查看您的代码很有用,而且对您自己也很有用!您可能需要在几个月或几年后返回并修改代码,然后完全忘记您所做的事情。注释还使快速阅读和理解代码变得更容易。为了节省时间和麻烦,请使用注释来解释代码的运行情况,即使您现在觉得很明显。

结论

WordPress很容易用正确的主题或插件进行修改,但有时你想做一个你找不到主题或插件的独特更改。通过学习WordPress挂钩的工作原理,您将对WordPress有更全面的了解。

705分享