Wp_Register_script()和wp_Register_style()的最佳位置

时间:2017-08-25 作者:Greeso

我需要将多个脚本和样式排列在插件中。然而,我不喜欢打电话的想法wp_register_script()wp_register_style() 每次我需要打电话wp_enqueue_script()wp_enqueue_style(). 我认为最好只注册一次脚本和样式,然后根据需要调用它们。

所以我的问题是,使用动作挂钩调用wp_register_script()wp_register_style() 要启用一次性注册?这是哪个动作钩?

谢谢

1 个回复
最合适的回答,由SO网友:Dave Romsey 整理而成

可以在上注册脚本和样式wp_loaded 挂钩,然后使用wp_enqueue_scripts.

脚本和样式注册后,可以稍后仅使用最初注册的句柄将其排入队列。

// Register scripts/styles. They can be optionally enqueued later on.
add_action( \'wp_loaded\', \'wpse_register_scripts\' );
function wpse_register_scripts() {
    wp_register_script( \'something-js\', get_template_directory_uri() . \'/js/something.js\', array( \'jquery\' ), true );
    wp_register_script( \'something-else-js\', get_template_directory_uri() . \'/js/something-else.js\', array(), true );
    wp_register_script( \'another-something-else-js\', get_template_directory_uri() . \'/js/another-something-else.js\', array(), true );
}

// Enqueue scripts/styles.
add_action( \'wp_enqueue_scripts\', \'wpse_enqueue_scripts\' );
function wpse_enqueue_scripts() {
    // Load everywhere.
    wp_enqueue_script( \'something-js\' );

    // Only enqueue scripts/styles on static front page.
    if ( is_front_page() ) {
        wp_enqueue_script( \'something-else-js\' );
    }

    // Only enqueue scripts/styles when the full-width.php template is used.
    if ( is_page_template( \'full-width.php\' ) ) {
        wp_enqueue_script( \'another-something-else-js\' );
    }
}

结束

相关推荐