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

do_action( 'wp_loaded' )

一旦WP、所有插件和主题被完全加载和实例化,这个钩子就会被触发

loaded

  • plugins_loaded 加载已启用的插件后触发
  • wp_loaded 一旦WP、所有插件和主题被完全加载和实例化,这个钩子就会被触发

描述

Ajax请求应该使用wp-admin/admin-ajax.php,admin-ajax.php可以处理未登录用户的请求。


更多信息

AJAX请求应该使用wp admin/admin-ajax.php,admin-ajax.php可以处理未登录用户的请求。

wp_loaded动作在init之后但在admin_init之前触发。

前端: init -> widgets_init -> wp_loaded
后端: init -> widgets_init -> wp_loaded -> admin_menu -> admin_init


源码

查看源码 官方文档


更新日志

版本描述
3.0.0开始引入

使用示例

  • 示例1

    从Codex迁移:

    页面输出时,缩减HTML代码

    add_action( 'wp_loaded','my_minify_html' );
    function my_minify_html() {
    	// Use html_compress($html) function to minify html codes.
    	ob_start('html_compress');
    }
    
    function html_compress( $html ) {
    	// Some minify codes here...
    	return $html;
    }

    如果您只想在前端加载函数。

    // If u want to load a function only in the front end.
    add_action( 'wp_loaded', 'my_front_end_function');
    function my_front_end_function() {
        if ( !is_admin() ) { 
            // Only target the front end
            // Do what you need to do
        }
    }

    与上述相同,但使用匿名函数(PHP 5.3或更高版本)。

    add_action( 'wp_loaded', function () {
        if ( !is_admin() ) {
            // Only target the front end
            // Do what you need to do
        }
    });