当前浏览:首页 / WordPress钩子 / wp_footer

do_action( 'wp_footer' )

在前端结束body标签之前打印脚本或数据

footer


更多信息

wp_footer动作是由wp_footer()函数在用户模板的标签附近触发的。虽然这是依赖于主题的,但它是最基本的主题挂钩之一,因此得到了相当广泛的支持。

这个钩子不提供任何参数。您可以通过将函数echo输出到浏览器或让它执行后台任务来使用这个钩子。函数不应该返回,也不应该接受任何参数。

这个钩子依赖于主题,这意味着它取决于每个WordPress主题的作者来包含它。它可能不适用于所有主题,所以在使用它时应该考虑到这一点。

当包含时,此函数的默认输出是将在主题顶部显示管理栏。它应该保存在每个主题的页脚中,因为大多数插件都将其脚本文件或函数绑定到此挂钩。

这个钩子是一个动作,这意味着它主要用作事件触发器,而不是内容过滤器。这是一个语义差异,但它将帮助您记住这个钩子的作用。



源码

查看源码 官方文档


更新日志

版本描述
1.5.1开始引入

使用示例

  • 示例1

    示例代码:

    function your_function() {
        echo 'This is inserted at the bottom';
    }
    add_action( 'wp_footer', 'your_function' );
  • 示例2

    从Codex迁移的示例:

    如果要影响钩子执行的时刻,可以将一个整数作为第三个参数附加到add_action

    <?php
    function your_function() {
        echo '<p>This is inserted at the bottom</p>';
    }
    add_action( 'wp_footer', 'your_function', 100 );
    ?>

    数字越高,优先级越低,因此您的钩子将在页面的更下方执行。排队引入脚本按优先级20执行。

  • 示例3

    在wordpress 5.8版本中,动作do_action(‘wp_footer’)似乎是在新的基于区块的Widgets屏幕上的每个小工具之后调用的。我想在函数中添加一个条件来限制这一点。

    <?php
    function wpdocs_your_function() {
    	if ( is_admin() ) {
    		return;
    	}
    
    	echo 'This is inserted at the bottom';
    }
    
    add_action( 'wp_footer', 'wpdocs_your_function' );
    ?>
  • 示例4

    从Codex迁移的示例:

    要加载jQuery,需要使用enqueue函数。如上所述,以优先级20执行的排队脚本。

    <?php
    function load_js() {
        wp_enqueue_script('jquery');
    }
    add_action( 'wp_footer', 'load_js');
    ?>