如何获得WP 4.1之前的无干扰模式?


8

WP 4.1的功能之一是引入了新的无干扰模式。

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

  • 它的编辑器样式表现更差
  • 它提供较少的写入空间
  • 这更令人分心,因为每次您移动鼠标时,您都会看到事物出现并再次消失。

顺便说一句,这个问题的目的不是对功能发表意见,而是问我如何才能回到4.1以前的无干扰模式?

我在网上进行了一项研究,发现很多人在抱怨,但没有解决方案,除了有人说只有(不满意的)选择权会降级,这当然不是选择权。

Answers:


8

编辑

从WP 4.3开始,它将不再起作用。WP已完全删除了的免干扰模式下的javascript 。

要在4.3版本中使用此代码,请从WP 4.2发行版中获取javascript文件的副本,并将其排入队列,然后再使用以下代码。


您可以:

  1. 使用'wp_editor_settings'过滤器将'_content_editor_dfw'选项设置为false。

  2. 使用'mce_buttons''teeny_mce_buttons'过滤器来:

    • 删除具有ID的新的免干扰按钮: 'dfw'
    • 添加具有ID 的的免干扰按钮:'wp_fullscreen'
  3. 使用'tiny_mce_plugins''teeny_mce_plugins'过滤器添加旧的插件脚本,幸运的是并未将其删除,它名为'wpfullscreen'

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

上面的所有步骤均作为一个插件(可在此处找到Gist ):

<?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');

这对我不起作用。我重新添加了4.2 javascript并将其排入插件顶部。该按钮将显示,但是单击它不会执行任何操作。不知道我做错了什么。
《 How-To Geek》 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.