【问题标题】:add_action remove_action does not work in functions.php for genesisadd_action remove_action 在functions.php 中不起作用
【发布时间】:2014-10-19 22:04:29
【问题描述】:

我正在 Linda.com 上观看一些关于 wordpress 主题修改的教程,特别是使用 wordpress 的创世纪框架和 studiopress 的关联儿童主题。

我正在关注视频教程,其中作者解释了如何在 functions.php 中使用 add_action 和 remove_action。我从她指定的位置(post.php)获取代码,并将代码放置在她指定的位置(functions.php),以执行非常简单的练习以从页面或帖子中“添加”和“删除”代码,但没有“add_action”或“remove_action”代码有效。只有“add_filter”在我的 functions.php 文件中有效。

我想知道我需要为“add_action”或“remove_action”做什么配置才能在我的functions.php文件中工作,因为作者没有解释这些练习的任何先决条件。

嗨@Charleshaa 这是一个例子:

示例第一个练习是删除帖子标题。 (显然没有理由这样做,但它只是一个展示 add_action remove_action 的使用和功能的练习)

所以她说去 post.php 找到这段代码:

    add_action( 'genesis_entry_header', 'genesis_do_post_title' ); 

并将其放在最底部的functions.php中,但修改如下:

    remove_action( 'genesis_entry_header', 'genesis_do_post_title' );

然后她在公众看到的帖子中出现,实际上帖子标题在她的视频中消失了,但在我刷新 (f5) 浏览器后执行了完全相同的操作,我的帖子标题仍然存在。

这是一个例子。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    add_actionremove_action 不需要任何配置。

    您需要为您的目的找到正确的action hook,在functions.php 中的任何位置,只需写add_action('the_hook_you_want', 'the_function_you_want_to_call')

    它还需要另外两个参数,第一个是the_function_you_want_to_call 接受的参数个数,第二个是优先级,你可以把它留在10

    我几乎从不使用remove_action,因为您可能想要做更多事情,而不是阻止 wordpress 做它所做的事情。

    如果您不确定要使用什么钩子,可以在您的 wordpress 代码中查找所有 do_action()

    您能否发布一些代码并解释一下您到底在尝试什么?

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-05
      相关资源
      最近更新 更多