在这个两部分的系列中,我们正在看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>
>这告诉我们四件事:
- >我们正在挂接的过滤器名称
- >
- >应称为
- 的功能的名称,应调用函数的优先级。前两个点很快被理解。但是,其他两个可以绊倒新的开发人员,但这并不是一个很难理解的概念。请记住,由于给定的挂钩可以具有与之关联的多个功能,因此优先级可以定义调用功能的时间或多晚。数字越低,开火越早;数字越高,较晚的射击。
>
>使用过滤器
开始使用过滤器,让我们继续以二十三个目录的词根创建自己的文件。我们将调用文件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>
>
>
将它们全部调用
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中文网其他相关文章!

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考虑使用AttActAcks.s.s.4)

会话再生是指在用户进行敏感操作时生成新会话ID并使旧ID失效,以防会话固定攻击。实现步骤包括:1.检测敏感操作,2.生成新会话ID,3.销毁旧会话ID,4.更新用户端会话信息。

PHP会话对应用性能有显着影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

phpientifiesauser'ssessionusessessionSessionCookiesAndSessionIds.1)whiwSession_start()被称为,phpgeneratesainiquesesesessionIdStoredInacookInAcookInamedInAcienamedphpsessidontheuser'sbrowser'sbrowser.2)thisIdAllowSphptptpptpptpptpptortoreTessessionDataAfromtheserverMtheserver。

PHP会话的安全可以通过以下措施实现:1.使用session_regenerate_id()在用户登录或重要操作时重新生成会话ID。2.通过HTTPS协议加密传输会话ID。3.使用session_save_path()指定安全目录存储会话数据,并正确设置权限。

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器