在WordPress中构建自定义解决方案的基石之一是对钩子有了解。 In and of themselves, they aren't terribly difficult to understand, and we'll be covering a short primer on them in this tutorial.
But if you're looking to get into more advanced WordPress development, it's worth knowing how to implement your own hooks as well.In this two-part series, we're going to review the WordPress hook system and how it's implemented, and we're going to take a look at how to define our own actions and过滤器。>入门在开始之前,本教程假设您设置了一个本地开发环境,其中包括WordPress的最新副本。在撰写本文时,这是WordPress 6.0.1。如果您需要设置开发环境的指导,请参阅本教程。它将为您提供您需要了解的一切,以使用Web服务器设置,PHP,数据库和WordPress的副本。>如果您要寻找更多的内容,那么其中包括该教程的串类提供了更多信息,例如如何安装WordPress,Themes和themes和dublines等。因此,一旦您进行了设置,让我们开始吧。在仔细观察WordPress挂钩之前,值得了解事件驱动的设计模式(即事件驱动的架构)。
>是否可以与现有的wordpress hook一起使用,如果您可以使用JONPRESS挂钩,则该模式也可能与您进行过任何功能。知道它具有正式名称。
>无论如何,这就是在Wikipedia中定义的:
事件驱动的体系结构(EDA),也称为消息驱动的体系结构,是一种软件架构模式,是一种促进了生产,检测,消耗和反应的方法,但现在就开始了
,就是这样:
该软件具有某些点,它传播了一条发生了某些事情的消息。>
我们作为开发人员,能够编写聆听此消息的代码,然后用自定义代码响应它。当我们开始谈论定义自己的钩子时,我们将重新访问此主题。目前,让我们看一下Web开发中常见的两个事件。使用JavaScript 首先,想象一下您在前端开发中工作。您有一个带有ADD_ACTION()函数的ID属性的按钮,可以指定运行操作挂钩时将执行的回调函数。在我们的情况下,它告诉WordPress执行一个名为admin_menu动作挂钩的函数。add_submenu_page()函数确定菜单选项的出现位置。第一个选项是parent slug,它设置为工具。以下是屏幕截图: >您可以访问codex,以了解有关WordPress中存在的Init

>
>理解此功能的签名的关键很简单:我们已经命名了Init
hook,我们需要确保在nock nook do_action()<?php <br>function tutsplus_register_post_type() {<br> <br>}<br>这可以是任何数字,在数字越高的情况下,其优先级列表越低。换句话说,较低的值意味着回调函数将较早执行。更高的值意味着该代码将在以后执行。 第二个参数是自定义钩将接受多少参数。在我们的情况下,有一个用于邮政类型的单数版本,并且有一个用于帖子类型的复数版本。
之后,我们需要为该挂钩提供功能。在这里,我们将重构注册邮政类型的代码,以便它接受两个参数,并且将在传递给WordPress的 regission_post_type
函数的数组中使用这两个参数。
<?php <br>add_action( 'init', 'tutsplus_register_custom_post_type' );<br>function tutsplus_register_custom_post_type() {<br><br> // Set the action at priority of 10 and note that it accepts 2 arguments.<br> do_action( 'tutsplus_register_custom_post_type', 10, 2 );<br><br>}<br>
do_action()
>
在此处请注意,我们还将此功能从添加到特定的钩子中删除了此功能。取而代之的是,我们将从挂在我们自定义操作的函数的定义中来调用它。
register_post_type
<?php <br><br>function tutsplus_register_post_type( $singular, $plural ) {<br><br> $args = array(<br> 'label' => $plural,<br> 'labels' => array(<br> 'name' => $plural,<br> 'singular_name' => $singular,<br> 'add_new_item' => 'Add New Traveler',<br> 'edit_item' => 'Edit Traveler',<br> 'new_item' => 'New Traveler',<br> 'view_item' => 'View Traveler',<br> 'search_items' => 'Search Travelers',<br> 'not_found' => 'No Travelers',<br> ),<br> 'description' => 'A post type used to provide information on Time Travelers.',<br> 'public' => true,<br> 'show_ui' => true,<br> 'supports' => array(<br> 'title',<br> 'editor',<br> 'excerpt',<br> ),<br> );<br><br> register_post_type( 'time_traveler', $args );<br><br>}<br>在上面的代码中,我们能够呼叫负责注册自定义帖子类型的函数,同时我们自己的参数,以便我们可以为代码添加一些自定义功能。和作为开发人员的灵活性。可以说,上面的代码最令人困惑的事情是我们如何在另一个钩子的上下文中定义钩子(即,我们在
tutsplus_register_custom_custom_post_post_post_post_type<p><code> init> init
>中定义 tutsplus_register_custom_custom_post_post_type<pre class="brush:php;toolbar:false"><?php <br>add_action( 'tutsplus_register_custom_post_type', 'tutsplus_register_time_traveler_type' );<br>function tutsplus_register_time_traveler_type() {<br> tutsplus_register_post_type( 'Time Traveler', 'Time Travelers' );<br>}<br></pre>)。<code> init <p>)。</p>><h2 id="gt">></h2>
<p>><code>tutsplus_register_custom_post_type
init
我选择了一个定义的钩子,因为您可以在此挂钩,因为您可以在此挂钩,并且可以将其作为一个挂钩,并且可以使用该钩子。完成的。
>注册钩子独立站立很容易:您根本不将其挂钩到预先存在的钩子上,并且您将使用挂钩到 admin_notices <anotices> </anotices>
>这篇文章已通过Nitish Kumar的贡献进行了更新。 Nitish是一家网络开发人员,在各种平台上创建电子商务网站方面具有经验。他花时间在个人项目上工作,这些项目使他的日常生活更轻松或与朋友一起度过漫长的夜间散步。
以上是在WordPress中添加自定义挂钩:自定义操作的详细内容。更多信息请关注PHP中文网其他相关文章!

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

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

禅工作室 13.0.1
功能强大的PHP集成开发环境

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

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境