首页 >后端开发 >php教程 >在WordPress中添加自定义挂钩:自定义过滤器

在WordPress中添加自定义挂钩:自定义过滤器

William Shakespeare
William Shakespeare原创
2025-03-01 09:40:13896浏览

在这个两部分的系列中,我们正在看WordPress挂钩系统。具体来说,我们正在仔细研究动作和过滤器及其在WordPress开发中所扮演的角色。

>

尽管它们都被定义为钩子,但每个都在WordPress开发中起着特定的作用。而且,如果您想成为一个更具成就的WordPress开发人员,那么重要的是要不仅了解它们之间的区别,还要了解如何实现自定义挂钩。

在该系列的第一篇文章中,我们定义了钩子的使用方式,也可以看到它们在其他地方的使用方式,还可以审查包括如何定义我们自己的动作。如果您尚未抓到第一篇文章,我强烈建议您在使用本教程之前阅读。

>

>在开始挂钩之前,我将对上一篇文章中讨论的内容进行快速的复活,然后将从那里开始。事件驱动的设计模式。特别是,我们将其定义为以下内容:

该软件具有某些点,它传播了一条事件发生的消息。>

>我们作为开发人员,能够编写聆听此消息的代码,然后用自定义代码响应它。

>

,然后在整个内容中进行了验证,我们将在该模式中进行了验证。我们讨论了如何利用它,然后讨论了如何实施自己的行动。

>

>我们也认识到一个微妙的区别:
>>
>动作旨在使用功能,过滤器的旨在使用数据。显示在屏幕上。在本教程中,我们将研究如何在将数据写入屏幕之前使用过滤器,例如如何降低文本。从上一篇文章中回顾了开始

>>>

>我们本地开发环境应包含以下内容:

wordpress 6.0.1.1

>您的首选IDE

  • php
  • MySQL可以轻松安装。如果您更高级,则可能会使用诸如NGINX和替代数据库之类的东西。如果是这样的话,那很好,但是出于本教程的目的,我假设您有前者。
  • >如果您没有设置任何设置,则不用担心:我们已经覆盖了您。链接的教程将为您提供与本地计算机上WordPress一起使用WordPress的一切所需的一切。

    >

    设置后,我们将准备继续进行。

    >

    >理解WordPress Filters

    wordpress代码参考为那些希望了解所有有关文件的人提供全面的资源。正如我们已经说过的,它将过滤器定义为以下内容:

    自定义过滤器不同于自定义操作,因为自定义操作允许您从现有操作中添加或删除代码。尽管自定义过滤器允许您替换现有操作中的特定数据(例如变量)。

    >,但是如果您正在寻找WordPress中可用过滤器的整个列表,则请确保在codex中引用此页面。它具有大约20秒的过滤器,其中许多链接到其自己的文档页面。

    >

    这意味着如果您很好奇是否存在特定的过滤器,则可以参考此页面。同样,您可以访问该特定过滤器的页面,以查看参数的参数,示例函数定义以及如何使用它。

    >

    >关于优先级和参数的一句话

    >

    >

    >在我们进一步发展之前,我想确保我们在同一页面上介绍我们在同一页面上介绍的是什么,我们会涉及到nove

    <?php<br>add_filter( 'author_edit_pre', 'filter_function_name', 10, 2 );<br>

    >这告诉我们四件事:

    1. >我们正在挂接的过滤器名称
    2. >
    3. >应称为
    4. 的功能的名称,应调用函数的优先级。前两个点很快被理解。但是,其他两个可以绊倒新的开发人员,但这并不是一个很难理解的概念。请记住,由于给定的挂钩可以具有与之关联的多个功能,因此优先级可以定义调用功能的时间或多晚。数字越低,开火越早;数字越高,较晚的射击。
    秒,该数字指示参数采用多少参数。如果您没有指定一个数字,则它将不接受或任何默认参数。如果您想传递的数量与预期的数量不同,那么您将指定该参数应接受的参数。我们将在教程稍后更详细地查看。

    >

    >使用过滤器

    开始使用过滤器,让我们继续以二十三个目录的词根创建自己的文件。我们将调用文件the_content滤镜。然后,我们将使用apply_filters

    >这是我们开始对str_replace()函数感兴趣的地方。但是,我们需要更改过滤器在WordPress注册的方式,然后我们需要确保在WordPress上注册的函数正确调用 Apply_filters <cod> <code>apply_filters

    。单独调用全部:

    上述过滤器的输出将看起来像下面的图:

    <?php<br>add_filter( 'author_edit_pre', 'filter_function_name', 10, 2 );<br>

    >,然后这就是您可以从初始挂钩中调用它的方式。在WordPress中添加自定义挂钩:自定义过滤器>

    >

    将它们全部调用

    apply_filters

    <?php<br><br>add_filter( 'tutsplus_replace_country', 'tutsplus_replace_country_callback', 10, 1 );<br>function tutsplus_replace_country_callback( $content ) {<br>    return str_replace( 'Canada', 'U.S.', $content );<br>}<br><br>add_filter( 'the_content', 'tutsplus_the_content' );<br>function tutsplus_the_content( $content ) {<br><br>    // Proceed with this function only if we are viewing a particular post.<br>    if ( is_single() && get_the_ID() == 66) {<br>		return apply_filters( 'tutsplus_replace_country', $content );<br>	} else {<br>        return $content;<br>    }<br>}<br>

    >请注意,这可以实现以前情况的合并结果,但是通过将它们凝结成单一的代码来实现。还可以通过其他方式来编写,但是本教程的目的是教育您如何编写自己的过滤器以及如何在您的工作中利用 apply_filters<code>apply_filters。在整个系列中,我们都审查了如何利用现有的动作和过滤器,以及如何创建和实施我们自己的。

    挂钩系统是WordPress对于开发人员的最强大方面之一,因此熟悉它很重要。这样一来,您不仅能够操纵WordPress提供的行为和数据,而且您还能够定义其他开发人员可以在其整个代码中使用的挂钩。

    >本文已通过Nitish Kumar的贡献进行了更新。 Nitish是一家网络开发人员,在各种平台上创建电子商务网站方面具有经验。他花时间在个人项目上工作,这些项​​目使他的日常生活更轻松或与朋友一起度过漫长的夜间散步。

以上是在WordPress中添加自定义挂钩:自定义过滤器的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn