'CONCATENATE_SCRIPTS'如何在wp-config上运行?

eyy*_*yyo 21 wordpress

我的wordpress文本编辑器上的文字在白色背景上是白色的,所以它对大多数人来说是不可见的.

在此输入图像描述

我搜索了它,我找到的解决方案是将以下代码添加到wp-config.php

define('CONCATENATE_SCRIPTS', false );
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我找不到它的作用或原因.

我只发现了一个在这里问同样的问题,但没有得到答案.

有人可以解释上面的代码是什么以及为什么它的工作原理?

Obm*_*nen 25

首先,好问题.

CONCATENATE_SCRIPTS 是告诉wordpress的常量,好吧..将所有依赖关系连接到一个URL并加载到一起(以保存http请求).

据我所知,它仅适用于Admin区域(后端).结果是一个网址

<script src="http://somewordpress.site/wp-admin/load-scripts.php?c=1&load=jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,hoverIntent,common,jquery-color,wp-ajax-response,wp-lists,jquery-ui-resizable,quicktags,jquery-query,admin-comments,postbox,dashboard,thickbox,plugin-install,media-upload&ver=e0f647a6df61adcc7200ce17a647db7f" type="text/javascript">
Run Code Online (Sandbox Code Playgroud)

这是正常的默认行为,如果您遇到问题,可能是因为javascript主题或插件存在一些冲突.

另一种可能(尽管不那么频繁)是由于TinyMCE缓存导致的浏览器问题.清除浏览器缓存.

如果你真的想看看它的定义或它在做什么,你可以看看这里.

总之,通过定义常数Sep.2015,你实际上是迫使WordPress的加载管理页面上每个脚本分别比评价者集体.因此,在这种情况下 - 如果一个脚本无法加载并正常工作,其他脚本仍可继续正常运行.

这是推荐的false本地开发设置.但是,在您的情况下,它是问题的症状,而不是问题本身.你应该隔离问题并修复它(可能是一个像之前说过的插件)

  • 在并行加载相关脚本之前,级联是一种特别有价值的技术,因为一个脚本必须等待下一个脚本才能下载。这种滞后是[在2017年变得不再是一个大问题](https://hackcabin.com/post/managing-async-dependencies-javascript/),并且取决于您加载脚本的方式,串联实际上可能会减慢您的网站速度。请注意。 (2认同)

小智 7

为了扩展 Obmerk 的答案,在我的情况下,设置CONCATENATE_SCRIPTS为 false 只是让我能够在浏览器控制台中看到单个故障,因为它随后显示 tinymce 的 javascript 未正确加载。然后查看服务器日志显示wp-tinymce.php未正确执行。最后,我需要修复 的权限,{sitepath}/wp-includes/js/tinymce/wp-tinymce.php以便我所在服务器的安全设置允许它运行。

在我的情况下,服务器不允许它是组可写的,所以chmod 755处理了它。实际解决方案将根据您的服务器配置而有所不同。

  • 有趣...为什么将 PHP 脚本设置为 755(包括直接从 shell 运行它的能力)而不是 644? (2认同)