问题描述
WP 4.1 的功能之一是引入了新的 distraction-free 模式。
这是一个个人意见,但我认为这是可怕的,其实与 4.1 之前的模式相比:
-
它的编辑风格更糟糕
-
它提供更少的写入空间
-
它更分散注意力,因为每次移动鼠标时,都会看到事物出现并再次消失。什么比屏幕上的移动更为分散注意力?
BTW,这个问题的目的不是对功能提出意见,而是要问我怎么才能得到 4.1 的 distraction-free 模式?
我在网上做了一个研究,发现很多人抱怨,但没有解决方案,除了有人说 (不鼓励) 选项是降级,当然不是一个选择。
最佳解决方案
Edit
截至第 4.3 版,这将不再工作了。 WP 已经完全删除了旧的 distraction-free 模式的 JavaScript 。
要在 4.3 版本中使用,请获取一个 javascript 文件 from WP 4.2 release 的副本,然后使用下面的代码排入它。
您可以:
-
使用
'wp_editor_settings'
过滤器将'_content_editor_dfw'
选项设置为 false 。 -
使用
'mce_buttons'
和'teeny_mce_buttons'
过滤器:-
删除新的 distraction-free 按钮,具有 id:
'dfw'
-
添加旧的 distraction-free 按钮,其 ID 为:
'wp_fullscreen'
-
-
使用
'tiny_mce_plugins'
和'teeny_mce_plugins'
过滤器添加旧的插件脚本,幸运的是没有删除,它被命名为'wpfullscreen'
对于#1 和#2,您可以检查编辑器是否是编号为'content'
的编辑器。
作为插件的上述所有步骤 (作为 Gist here 可用):
<?php namespace GMFSDFM;
/**
* Plugin Name: Fullscreen Distraction-Free Mode (pre v4.1)
* Plugin URI: https://gist.github.com/Giuseppe-Mazzapica/c081ce03a68b00d983d5
* License: MIT
*/
if (!is_admin()) return;
function should($editor_id = 'content') {
return (version_compare($GLOBALS['wp_version'], '4.1') >= 0)
&& in_array($GLOBALS['pagenow'], array('post.php','post-new.php'))
&& $editor_id === 'content';
}
function buttons($buttons, $editor_id) {
return should($editor_id)
? array_diff(array_merge((array) $buttons, array('wp_fullscreen')), array('dfw'))
: $buttons;
}
function plugins($plugins) {
return should()
? array_diff(array_merge((array) $plugins, array('wpfullscreen')), array('fullscreen'))
: $plugins;
}
function settings($settings, $editor_id) {
if (should($editor_id)) {
$settings['_content_editor_dfw'] = false;
}
return $settings;
}
add_filter('wp_editor_settings', __NAMESPACE__.'\settings', 30, 2);
add_filter('mce_buttons', __NAMESPACE__.'\buttons', 30, 2);
add_filter('teeny_mce_buttons', __NAMESPACE__.'\buttons', 30, 2);
add_filter('teeny_mce_plugins', __NAMESPACE__.'\plugins');
add_filter('tiny_mce_plugins', __NAMESPACE__.'\plugins');
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。