如何恢复WP4.1之前的无分心模式?

时间:2015-01-18 作者:gmazzap

WP 4.1的一个特点是引入了新的无分心模式。

这是我个人的观点,但事实上,与4.1之前的模式相比,我认为这很糟糕:

使用编辑器样式时,它的性能要差得多。它提供的书写空间更少,更容易分散注意力,因为每次移动鼠标时,都会看到东西再次出现和消失。。还有什么比屏幕上的动作更让人分心

我在网上做了一项研究,发现很多人都在抱怨,但没有解决办法,除了有人说唯一(令人沮丧的)选择是降级,当然,这不是一个选择。

1 个回复
最合适的回答,由SO网友:gmazzap 整理而成

从WP 4.3开始编辑,这将不再有效。WP已经完全删除了旧的无干扰模式的javascript。

要在4.3版本中使用它,请获取javascript文件的副本from WP 4.2 release 并在使用下面的代码之前将其排队。

您可以:

使用\'wp_editor_settings\' 过滤器设置\'_content_editor_dfw\' 选项为false。

使用\'mce_buttons\'\'teeny_mce_buttons\' 筛选到:

移除新的无干扰按钮,其id为:\'dfw\'添加id为的旧无分心按钮:\'wp_fullscreen\'\'tiny_mce_plugins\'\'teeny_mce_plugins\' 筛选以添加旧插件脚本,幸运的是该脚本没有被删除,它的名称为\'wpfullscreen\'

对于#1和#2,您可以检查您编辑的编辑器是否是id为的编辑器\'content\'.

以上所有步骤作为插件(作为要点提供here):

<?php namespace GM\\FSDFM;
/**
 * 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\');

结束

相关推荐