如何' CONCATENATE_SCRIPTS'在wp-config上工作?

时间:2015-09-15 14:29:09

标签: wordpress

我的wordpress文本编辑器上的文字在白色背景上是白色的,因此对大多数人来说都是看不见的。

enter image description here

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

define('CONCATENATE_SCRIPTS', false );

它工作正常,但我无法找到它的功能或原因。

我只发现了一个问题here,但它没有得到答案。

有人可以解释上面代码的作用及其原理吗?

2 个答案:

答案 0 :(得分:24)

首先,好问题。

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

据我所知,它仅适用于管理区域(后端)。 结果是像

这样的网址
<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">

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

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

如果你真的想知道它的定义或做了什么,你可以look here

无论如何,通过将常量定义为false,您实际上迫使WordPress加载管理页面上的每个脚本单独 rater而不是集体。 因此,在这种情况下 - 如果一个脚本无法加载并正常工作,其他脚本仍可继续正常运行。

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

答案 1 :(得分:3)

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

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