Hooks简介2:自定义挂钩和可插拔功能简介
如果您已经阅读了WordPress Hooks简介的第1部分 ,则应该清楚地了解什么构成“动作”或“过滤器”钩子以及可以在何处使用它们。 今天,我们将深入探讨“兔子洞”,讨论可插拔功能以及创建自己的“动作”和“过滤器”挂钩点的概念,以及如何利用它们并在主题和主题之间建立关系。使用各种WordPress Hooks的插件。 注意:本教程不适合胆小的人(有一些高级知识)。 如果您还没有阅读第1部分,我强烈建议您在继续阅读之前阅读。 什么是自定义动作和过滤点? 如前所述,可以在WordPress页面加载过程中使用操作在关键点运行您自己的代码,以及使用过滤器修改文本,设置或几乎所有带有过滤器的内容,以量身定制WordPress安装完全符合您的要求。 那主题和插件呢? 我该如何在其中注入自己的定制特效? 这就是自定义操作和过滤点的来源。 使用WordPress核心本身内置的相同功能,我们可以在主题和插件中创建我们自己的动作点(例如“ wp_head”或“ wp_footer”)。 从本质上讲,这是相对简单的,可以以标准方式或更高级的方式使用。 假设我们正在开发一个名为“ WPCandy News”的插件,则可以在显示最新新闻的小部件的顶部添加以下内容: <?php do_action( 'wpcandy_news_widget_before' ); ?> 这是构成WordPress操作点的核心。 do_action()函数指示WordPress查找附加到指定标签的钩子(在我们的示例中为“ wpcandy_news_widget_before”)并运行该函数。 简单吧? 等一下,这还不是全部。 do_action()函数还可以接受多个参数(参数),然后根据需要将其传递给我们所连接的函数。 听起来很复杂,对吧? 并不是的。 让我们使用上面相同的示例,但将其扩展一点。 <?php do_action( 'wpcandy_news_widget_before', $limit, $id ); ?> 在代码段中,我添加了两个额外的参数。 $ limit和$ id变量。 这些是由插件创建的示例变量,分别包含要显示的文章数和我们分配给窗口小部件中元素的ID。 如果我们正确设置了add_action()调用,则应该在函数中接收这些值,以备使用。 等等,add_action()在哪里出现? 没有add_action() ,`do_action()`毫无意义。 `add_action()`函数允许我们以及其他主题或插件分配要在WordPress达到我们的操作后运行的功能。 从根本上讲,我们如何抓住新的行动要点的一个例子是: <?php add_action( 'wpcandy_news_widget_before', 'wpcandy_news_widget_before_content' ); function wpcandy_news_widget_before_content () { echo '<p>' . __( ' This is our custom text.', 'wpcandy' ) . </p>'; } // End wpcandy_news_widget_before_content() ?> 现在一切都很好,但是$ limit和$ id呢? 输入我们的最后两个参数; “优先”和“可接受的论点”。 ...