在WordPress中do_action();是什么?

时间:2015-04-08 作者:Aranwer

很抱歉重复主题,但这对我来说非常重要,因为我无法通过查看其他相关主题来理解此主题。实际上,我正在构建一个WordPress主题,我正在进行这项工作,当我查看其他主题的源代码时,通常会找到这段代码。

等等等等。

我知道这与do\\u action()有关;

所以我的问题是,为什么我们在wordpress中使用这个函数?这个函数的作用是什么?在主题中的每个开始和结束html标记上使用这个代码,我们能从中获益吗?

提前谢谢aran

1 个回复
SO网友:hjahan

WP实际上使用它来允许插件开发人员更改WP行为。您可以使用do\\u操作使代码灵活,以便其他插件/主题开发人员或您自己可以更改代码的行为。

例如,假设您在主题框架中有一个WP循环。如果要在其顶部添加面包屑,以下是最简单的方法:

...
<?php print_breadcrumb(); ?>
<h2><?php the_title(); ?></h2>
...
但插件开发人员或站点作者需要通过这种方式在函数处编辑print\\u breadcrumb()。php添加自己的面包屑。更好的方法是使用do\\u action()

...
<?php do_action(\'breadcrumb\') ?>
<h2><?php the_title(); ?></h2>
...
现在您可以在函数中添加此项。php获得相同的行为:

add_action(\'breadcrumb\', \'print_breadcrumb\'); 
现在,插件作者可以通过以下方式覆盖您的代码:

add_action(\'breadcrumb\', \'their_own_breadcrumb\');

结束

相关推荐

Cannot override hooks.php

我为网络黑猩猩的“反应主题”构建了一个儿童主题。我想换一个钩子。所以我想我需要钩子。我的孩子主题中的php文件。所以我从父母那里复制了它。我制定了相同的层次结构(我想这是正确的方法)。wp-content/[my_child_theme]/core/includes/hooks.php 将文件复制到主题根目录没有帮助。我还试图重新创建这个关键钩子。我把代码放在子函数中。php文件,但它也不起作用,因为挂钩发生在主题内容之后(只是我的asumtion)。所以问题很简单:如何覆盖父主题的挂钩。php