¿Cómo recuperar el modo libre de distracciones que teníamos antes de WP 4.1?

8

Una de las características de WP 4.1 fue la introducción del nuevo modo sin distracciones.

Esta es una opinión personal, pero creo que es horrible, de hecho, en comparación con el modo pre 4.1:

  • funciona mucho peor con los estilos de editor
  • ofrece menos espacio para escribir
  • es más molesto, porque cada vez que mueves el mouse ves que las cosas aparecen y desaparecen nuevamente ... ¿qué es más molesto que el movimiento en la pantalla?

Por cierto, el propósito de esta pregunta no es dar una opinión sobre la función, sino preguntar cómo puedo volver al modo sin distracción anterior a 4.1.

Hice una investigación en la web y encontré que muchas personas se quejaban, pero no hay soluciones, aparte de que alguien dice que solo la opción (desalentada) está degradando eso, por supuesto, no es una opción.

gmazzap
fuente

Respuestas:

8

Editar

A partir de WP 4.3, esto ya no funcionará. WP ha eliminado por completo el javascript para el antiguo modo libre de distracciones.

Para usar esto en las versiones 4.3, obtenga una copia del archivo javascript de la versión WP 4.2 y póngalo en cola antes de usar el código a continuación.


Usted puede:

  1. use 'wp_editor_settings'filtro para establecer la '_content_editor_dfw'opción en falso.

  2. uso 'mce_buttons'y 'teeny_mce_buttons'filtros para:

    • eliminar el nuevo botón sin distracciones, que tiene id: 'dfw'
    • agregue el viejo botón sin distracciones que tiene la identificación:'wp_fullscreen'
  3. use 'tiny_mce_plugins'y 'teeny_mce_plugins'filtros para agregar el antiguo script de complemento, que afortunadamente no se eliminó, se llama'wpfullscreen'

Para el n. ° 1 y n. ° 2, puede verificar que el editor que está editando sea el que tiene id 'content'.

Todos los pasos anteriores como un complemento (disponible como Gist aquí ):

<?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');
gmazzap
fuente
Esto no está funcionando para mí. Agregué el javascript 4.2 y lo coloqué en la parte superior del complemento. Aparece el botón, pero al hacer clic no se hace nada No estoy seguro si estoy haciendo algo mal.
The How-To Geek