WordPress注册表样式调用不正确

时间:2016-02-18 作者:GTS Joe

为什么会出现此错误?

Notice: wp_register_style was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. Please see Debugging in WordPress for more information. (This message was added in version 3.3.) in /var/www/domain.com/wp-includes/functions.php on line 3792
我用来包含自定义CSS和JS文件的代码是:

// Register a custom style and script.
wp_register_style( \'custom_css\', get_stylesheet_directory_uri() . \'/custom.css\' );
wp_register_script( \'custom_js\', get_stylesheet_directory_uri() . \'/custom.js\', array(\'jquery\') );

// Enqueue a custom style and script in pages and posts.
function add_custom_scripts() {
    wp_enqueue_style( \'custom_css\' );
    wp_enqueue_script( \'custom_js\' );
}
add_action( \'wp_enqueue_scripts\', \'add_custom_scripts\', 9999 );
编辑:根据Pieter的回答,我将代码更改为此,它修复了问题:

function add_custom_scripts() {
    // Start "Add Custom Scripts."
    wp_register_style( \'custom_css\', get_stylesheet_directory_uri() . \'/custom.css\' );
    wp_register_script( \'custom_js\', get_stylesheet_directory_uri() . \'/custom.js\', array(\'jquery\') );

    wp_enqueue_style( \'custom_css\' );
    wp_enqueue_script( \'custom_js\' );
}
add_action( \'wp_enqueue_scripts\', \'add_custom_scripts\', 9999 );

function add_custom_scripts_login() {
    // Start "Add Custom Scripts."
    wp_register_style( \'custom_css\', get_stylesheet_directory_uri() . \'/custom.css\' );
    wp_register_script( \'custom_js\', get_stylesheet_directory_uri() . \'/custom.js\', array(\'jquery\') );

    wp_enqueue_style( \'custom_css\' );
    wp_enqueue_script( \'custom_js\' );
}
add_action( \'login_enqueue_scripts\', \'add_custom_scripts_login\', 9999 );

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

这个通知很明显。它告诉你你没有跑步wp_register_style()wp_enqueue_scripts

解决方案wp_register_script()wp_register_style() 调用连接到的函数内部wp_enqueue_scripts