WP_enQueue_SCRIPT调用不正确

时间:2014-03-06 作者:raiden

我不知道怎么做,但现在我遇到了这个错误:

注意:wp\\u enqueue\\u style的调用不正确。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或login\\u enqueue\\u脚本挂钩之前,不应注册或排队脚本和样式。有关详细信息,请参阅WordPress中的调试。(此消息是在版本3.3中添加的。)wp中包括/功能。php在线3049

注意:wp\\u enqueue\\u脚本调用不正确。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或login\\u enqueue\\u脚本挂钩之前,不应注册或排队脚本和样式。有关详细信息,请参阅WordPress中的调试。(此消息是在版本3.3中添加的。)wp中包括/功能。php在线3049

警告:无法修改标题信息-标题已由wp登录中的(输出开始于wp includes/functions.php:3049)发送。php在线415

警告:无法修改标题信息-标题已由wp登录中的(输出开始于wp includes/functions.php:3049)发送。php在线427

这是我尝试登录时得到的。。。在其他网站上,我只有前两个错误。我试着修复它,但我做不到。有什么建议吗?

7 个回复
SO网友:fuxia

禁用所有插件并切换到默认主题。现在应该走了。

然后逐步启用每个插件,直到问题再次出现。您现在知道了源代码,比如说一个插件。

插件可能会调用wp_enqueue_script 太早了。查找该函数的所有匹配项,然后确保它们已绑定到特定操作:

  • wp_register_script() 应要求采取行动wp_loaded
  • wp_enqueue_script 在其中一个动作上wp_enqueue_scripts,
  • admin_enqueue_scripts,
  • customize_controls_enqueue_scriptslogin_enqueue_scripts (参见this thread 对于后者)

SO网友:myk

基于Gregory Schultz\'s 解决方案:

将所有脚本和样式包装在一个函数中,并将该函数挂接到目标enqueue 行动

function my_admin_scripts() {
  wp_enqueue_style( \'admin-css\', get_stylesheet_directory_uri() . \'/admin/css/admin.css\' );
  wp_enqueue_script( \'admin-js\', get_stylesheet_directory_uri() . \'/admin/js/admin.js\', true );
}
add_action( \'admin_enqueue_scripts\', \'my_admin_scripts\' );
<小时>wp_enqueue_scripts — 前端

admin_enqueue_scripts — 管理页面

login_enqueue_scripts — 登录页面

SO网友:Kevin Leary

您可以使用Query Monitor 插件以缩小此错误的来源。

当您在控制台中看到报告的此错误时:

wp\\U register\\u style调用不正确。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或login\\u enqueue\\u脚本挂钩之前,不应注册或排队脚本和样式。有关详细信息,请参阅WordPress中的调试。(此消息是在版本3.3.0中添加的。)

最后一列(Component) 将告诉您触发错误的插件。从那里做一个插件(或主题)内的搜索,以找到并修补问题。

SO网友:Albert S.

之所以会发生这种情况,是因为这些函数是直接从函数调用的。php文件,不使用函数。找出函数中的哪一行。php不在这样的函数中,请添加它们。

日期选择器示例:

-而不是在函数中。php:

wp_enqueue_script(\'jquery-ui-datepicker\');
wp_enqueue_style(\'jquery-ui-css\', \'//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\');
wp_enqueue_style(\'jquery-ui-css\', \'//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css\');
-我们添加此

    // We define the function:
    function MYTHEME_scripts() {
    wp_enqueue_script(\'jquery-ui-datepicker\');
    }

    // Add the functions to WP loading list.
    add_action( \'wp_enqueue_scripts\', \'MYTHEME_scripts\' );

    function MYTHEME_styles() {
    wp_enqueue_style(\'jquery-ui-css\', \'//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css\');
    wp_enqueue_style(\'jquery-ui-css\', \'//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css\');
    }

    // Add the functions to WP loading list.
    add_action( \'wp_enqueue_style\', \'MYTHEME_styles\' );
希望它能起作用

SO网友:JMau

这意味着有3个“端点”wp_enqueue_script() 其中包括用于前端的wp\\u enqueue\\u脚本、用于登录屏幕的login\\u enqueue\\u脚本、用于管理仪表板的admin\\u enqueue\\u脚本。Check this link.

出现此错误是因为wp_enqueue_script() 被称为不恰当。

SO网友:Usman Ahmed

用一个叫做wp_enqueue_scripts.

示例:

add_action( \'wp_enqueue_scripts\', function() {
    wp_enqueue_style(\'style\', get_stylesheet_uri(), false, false, \'all\');
    wp_enqueue_script( \'custom-script\', get_stylesheet_directory_uri() . \'/script.js\', true );
});

SO网友:Titus Gitari

解决这个问题的方法是下载WordPress classic编辑器和classic widgets插件

结束

相关推荐

SSL设置:WP-LOGIN CSS不通过HTTPS加载

我有一个使用SSL的多站点设置。一切正常。访问者通过https获取所有内容。我的页面源中没有一个没有httpS的url。(包括指向css、js文件的URL)但是,一旦进入登录页面,我的所有css文件都有一个带有http的URL,而不是https。所以大多数浏览器都会屏蔽这些不安全的源代码,从而破坏了管理界面。页面本身通过https加载,所有重定向也通过https提供。我的网站url设置为https://...I\'v搜索了我的数据库和项目文件,没有对http://...什么会导致此问题?