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呢? 输入我们的最后两个参数; “优先”和“可接受的论点”。 ...

2019-11-10 · 1 min · Duke Yin

Hooks简介1:基本的WordPress构建块

WordPress钩子可以说是WordPress开发的基础,构成了核心功能的很大一部分,迄今为止几乎所有可用的插件和主题都在使用它。 对于刚开始使用WordPress开发的用户来说,钩子的概念也可能有些令人生畏。 今天,我们将深入了解WordPress钩子的确切含义,以及它们如何在您成为WordPress摇滚明星的途中为您提供帮助。 无论如何,WordPress钩子到底是什么? WordPress钩子实质上是一种触发器,允许用户使用简短的代码片段来修改WordPress主题或插件的区域,或将自己的代码添加到WordPress的各个部分而无需修改原始文件。 例如,“当WordPress选择要加载的模板文件时,运行我们的自定义代码”或“当为每个帖子生成内容时,在内容末尾添加社交书签链接”。 一旦我们对不同类型的钩子有了更多的了解,这些示例将得到扩展。 挂钩可以分为“动作”和“过滤器”挂钩,前者允许在各个点插入自定义代码(与JavaScript中的事件不同),后者允许对内容的各种位进行操作(例如,内容页面或博客文章)。 让我们仔细看看其中的每个,对吧? 动作挂钩 动作钩子是WordPress核心,主题和插件代码中的指定点,可以在外部资源(钩子所在范围的范围之外……在核心,主题或插件中)插入其他代码,并由此插入自定义代码以执行他们可能需要的其他功能。 一个例子是常用的wp_head操作钩,许多主题和插件都使用它来注入其他CSS样式表,处理代码或它们需要放置在WordPress主题的XHTML结构的<head>和</head>标签之间的任何其他内容。 这就是包含wp_head();的原因wp_head(); 在所有WordPress主题中。 要挂接一个动作,请在主题的functions.php文件(或插件的代码)中创建一个函数,然后使用add_action()函数将其挂接,如下所示: <?php add_action( 'wp_head', 'wpcandy_actionhook_example' ); function wpcandy_actionhook_example () { echo '&lt;meta name="description" content="This is the meta description for this page." /&gt;' . " “; } // End wpcandy_actionhook_example() ?> ...

2019-11-10 · 2 min · Duke Yin