【问题标题】:How to override default do_action output in Wordpress如何覆盖 Wordpress 中的默认 do_action 输出
【发布时间】:2016-07-01 14:41:09
【问题描述】:

我正在尝试覆盖 Wordpress 主题页脚中的输出。给定的部分只有一个do_action('action_name')

在我的functions.php中我添加了:

add_action('action_name', 'action_name');
function action_name() {
    echo "<p>Additional text</p>";
}

但是,这会输出我想要替换的内容以及我想要添加的内容。我对主题 Wordpress 还很陌生,所以我在这里迷路了。我究竟做错了什么?

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    如果您可以找到正在执行您要删除的输出的函数,您可以使用remove_action() 将其删除:

    remove_action( $tag, $function_to_remove, $priority );
    

    要找到它,您必须查看生成它的主题或插件的代码。在某个地方会出现与您类似的add_action() 电话。记下函数名称和优先级,并在您的插件/主题中使用remove_action()

    困难的解决方案是使用remove_all_actions() 删除该操作的所有功能。

    之后,您可以像现在一样添加自己的输出。

    注意:请注意,并非所有操作都建议使用remove_all_actions()。例如,wp_footer 操作用于在页面末尾加载 JavaScript。删除那里的所有功能将使依赖它的插件和主题变得无用。

    【讨论】:

      【解决方案2】:

      在这里查看add_action相关代码-

      add_action (string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1)

      $tags(字符串)(必需)要执行的操作的名称 $function_to_add 上钩了。

      $function_to_add(可调用)(必填)您的函数名称 希望被召唤

      $priority (int) (可选) 用于指定 执行与特定动作相关的功能。降低 数字对应于较早的执行,并且具有相同的功能 优先级按照它们添加到的顺序执行 行动。默认值:10

      $accepted_args (int) (可选) 函数的参数数量 接受。默认值:1

      看看下面的帖子希望这对你有帮助-

      https://developer.wordpress.org/reference/functions/add_action/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-26
        • 1970-01-01
        • 2012-04-13
        • 2015-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-13
        相关资源
        最近更新 更多