我不知道如何,但是现在我遇到了这个错误:


注意:wp_enqueue_style被错误地调用了。在wp_enqueue_scripts,admin_enqueue_scripts或
login_enqueue_scripts挂钩之前,脚本和样式不应注册或排队。请参阅WordPress中的调试以获取更多信息。 (此消息是在版本3.3中添加的。)在行3049的
wp-includes / functions.php中

注意:wp_enqueue_script被错误地调用。在wp_enqueue_scripts,不应注册或入队。请参阅
在WordPress中进行调试以获取更多信息。 (此消息是在版本3.3中添加的
。)在3049行的wp-includes / functions.php中

警告:无法修改标题信息-
已发送的标题(输出在wp-login.php中的wp-includes / functions.php:3049处开始,在
第415行

警告:无法修改标题信息-
已经发送的标题(输出开始于wp-login.php中的wp-includes / functions.php:3049),位于427行


。在其他站点上,我只有两个第一个错误。我尝试修复它,但不能。有什么建议吗?

评论

这些通知似乎很容易解释。您尝试过什么,没有用?

@s_ha_dum我已经尝试了很多我在Google上发现的东西...刚才toscho的解决方案对我有用,我可以登录到管理面板,但是我看到的是加载样式有问题,因为字体与以前不一样。我不断收到此错误:

#1 楼

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

然后逐步启用每个插件,直到问题再次出现。您现在就知道了源代码,比如说一个插件。找到该函数的所有出现,然后确保它们绑定到特定的动作:




wp_enqueue_script应当为动作调用br /> wp_register_script()中的一项动作



wp_loaded

wp_enqueue_script

wp_enqueue_scripts

admin_enqueue_scripts(有关后者,请参见此线程)。




评论


问题是我无法登录,因为我也收到了Cookie的奇怪错误。错误说,我已经阻止了浏览器中的cookie,但是我没有阻止它们……这太奇怪了,因为我今天所做的所有工作都是在style.css中添加了几行,一切都很好,但是我遇到这些错误后的几个小时。

–突袭
2014年6月6日20:12

@raiden然后通过FTP重命名您的插件目录,对当前活动的主题执行相同的操作。

– fuxia♦
2014年6月6日20:13

现在,我可以登录我的面板了……谢谢!但是现在我又收到一个错误警告:无法修改标头信息-行896的wp-includes / pluggable.php中已经发送过的标头(输出从wp-includes / functions.php:3049开始)

–突袭
2014年3月6日20:20

#2 楼

基于Gregory Schultz的解决方案:

将所有脚本和样式包装在一个函数中,并将该函数与目标enqueue动作挂钩。 >

wp_enqueue_scripts —前端

admin_enqueue_scripts —管理页面

login_enqueue_scripts —登录页面

评论


这肯定有帮助,谢谢:)

– jrran90
20-11-29在14:29

#3 楼

您可以使用Query Monitor插件来缩小此错误的来源,而不必一个接一个地禁用所有插件或修改代码库以进行调试。

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


wp_register_style被错误地调用。在wp_enqueue_scripts,
在WordPress中进行调试以获取更多信息。 (此消息已在版本3.3.0中添加
。)


最后一列(Component)将告诉您触发错误的插件。从那里在该插件(或主题)中进行搜索以查找并修补问题。

#4 楼

发生这种情况的原因是,这些函数是直接从functions.php文件中调用的,而不使用函数。找出functions.php中的哪些行不在这样的函数中,然后添加它们。

datepicker的示例:

-而不是在functions.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' );


希望它起作用

#5 楼

这意味着wp_enqueue_script()有3个“端点”,它们是前端的wp_enqueue_scripts,用于登录屏幕的login_enqueue_scripts,用于管理仪表板的admin_enqueue_scripts。检查此链接。

由于wp_enqueue_script()被不正确地调用而出现此错误。

评论


我了解其中的内容,但不知道如何(实现?)此“解决方法:改用wp_enqueue_scripts”。

–突袭
2014年6月6日20:26

这意味着您只需要使用wp_enqueue_scripts而不是wp_print_styles,但是我怀疑这与您的情况有关。这只是故障排除的一个例子。在您的情况下,插件或主题中的某些功能会滥用wp_enqueue_script(),因此您会收到此错误...我的猜测。

– JMau
2014年6月6日20:37



我收到通知:wp_register_style被错误地调用。在wp_enqueue_scripts,admin_enqueue_scripts或login_enqueue_scripts钩子之前,不应注册或排队脚本和样式。我将所有脚本和样式都包装在一个函数中,然后通知消失了。

–格雷戈里·舒尔茨(Gregory Schultz)
18年5月24日在0:24

除此之外,我没有任何错误

–格雷戈里·舒尔茨(Gregory Schultz)
18年5月24日,0:25

#6 楼

将其包装在名为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 );
});