WordPress v5.0.3 Gutenberg&JS错误“未捕获语法错误:缺少)参数列表后”

时间:2019-01-14 作者:Kostiantyn Petlia

从WP 5.0.2更新到5.0.3后,我在WP admin中遇到了问题。我无法编辑帖子数据。参数列表后出现JS错误“Uncaught SyntaxError:missing”),未定义“\\u”(lodash)等。

3 个回复
SO网友:Dirk Diggler

我的问题是clean_script_tag() 功能来自Soil.

正在删除add_filter(\'script_loader_tag\', \'clean_script_tag\'); 为我解决了错误。

SO网友:Kostiantyn Petlia

我发现:

<script type=\'text/javascript\'>( \'fetch\' in window ) || document.write( \'<script src="http://website.com/wp-includes/js/dist/vendor/wp-polyfill-fetch.min.js?ver=3.0.0\' defer "></scr\' + \'ipt>\' ); ...</script>
注:wp polyfill取数。min.js?版本=3.0.0\' defer " >

问题出在添加的PHP挂钩中deferscript, 就像这里:How to add defer="defer" tag in plugin javascripts?

Reason: 与引号(“&;”)的混淆/冲突导致JS中断。

The solve: 删除/禁用添加“延迟”PHP挂钩,或添加一些不接触Gutenberg脚本的条件。

更多详情请点击此处:https://github.com/WordPress/gutenberg/issues/13029

SO网友:ASHISH YADAV

这个问题是由于WordPress Gutenberg的一些js不支持延迟。我也有同样的问题,我添加了一个WordPress挂钩来延迟js。现在我添加了一个条件,钩子不会调用管理页面,它解决了我的问题。

只需转到函数即可。php的主题,并找到下面的代码,然后用新代码替换它。

旧代码:

add_filter( ‘clean_url’, ‘defer_parsing_of_js’, 11, 1 );

新代码:

if ( !is_admin() ) {
    add_filter( ‘clean_url’, ‘defer_parsing_of_js’, 11, 1 );
}
在这段代码之后,它不会向管理端脚本添加延迟,是的,它将工作200%。

相关推荐

OOP development and hooks

我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private