我已经尝试了您可以在网上找到的所有解决方案,例如将此添加到wp-config.php
:
1 define(\'CONCATENATE\\u SCRIPTS\',false);
2我还停用了所有插件并更改了主题,仍然没有骰子
3验证权限是否正确,是否启用了可视化编辑器
4尝试用TinyMCE以外的其他编辑器替换,没有骰子
我认为这是服务器问题,因为服务器上的另一个站点也有同样的问题。
对如何调试它有什么建议吗?“添加媒体”工作正常,因此它不是JS问题或权限问题。
我相信这可能与mod_sec
, 但我禁用了它,仍然没有骰子。不确定从何处开始调试过程。有什么建议吗?
<小时>Edit: 我已经找到了问题,但还没有解决办法。
以下两行代码在我坏掉的服务器上的源代码中缺失——在工作的服务器上,它们没有缺失:
<div id="wp-content-editor-tools" class="wp-editor-tools hide-if-no-js">
<a id="content-html" class="wp-switch-editor switch-html" onclick="switchEditors.switchto(this);">Text</a>
<a id="content-tmce" class="wp-switch-editor switch-tmce" onclick="switchEditors.switchto(this);">Visual</a>
Update: 显然有些人很幸运禁用了杀毒软件,请看这里
http://wordpress.org/support/topic/htmlvisual-missing-on-341-and-342
SO网友:jrsconfitto
我有一个相关的问题,使用上述答案无法解决。我无法访问经典编辑器中的可视化编辑器,并且被困在HTML中。使用Gutenberg时,我无法访问可视化编辑器,无法添加块,也无法从可视化选项卡切换到代码选项卡。
该问题是由AWS CloudFront删除UserAgent标头引起的,WP使用该标头来确定是否可以进行可视化编辑。
如果有人来这里,但上述答案没有帮助,请查看您的托管解决方案,看看您是否有与我类似的场景。
修复程序正在调整主机/AWS处理标头的方式,like this post specifies, 或者,您可以使用以下代码重新启用WP由于缺少UserAgent标头而删除的标志:
function richedit_wp_cloudfront () {
add_filter(\'user_can_richedit\',\'__return_true\');
}
add_action( \'init\', \'richedit_wp_cloudfront\', 9 );
在以下几个地方详细介绍了问题和解决方案:
SO网友:Justin Levene
如果您使用的是AWS和CloudFront,则需要传递以下标头:
Host
Options
Referer
Origin
User-Agent
您可以执行另一种行为,并且只有在“wp admin”时才能执行此操作,以利用所有页面的Cloudfront缓存(管理页面除外)。
此外,如果您正在使用CloudFront for HTTPS,并且您的源代码是HTTP,请在wp配置的开头添加以下行。php文件(源文件头应该解决这个问题,但如果没有解决):
$_SERVER[\'HTTPS\'] = \'on\';
由于服务器是http(端口80),并且您使用的是AWS公共证书,您需要愚弄wordpress,使其认为站点是HTTPS,否则脚本和css链接将不会加载,因为链接将是http而不是HTTPS。Wordpress在使用该函数时无法确定Cloudfront重定向是否为https
is_ssl()
, 所以这个黑客愚弄了它。
这个链接也有一些解释:
https://jeffreyeverhart.com/2018/12/07/setup-aws-cloudfront-for-wordpress-scaling-this-blog/