Comment retrouver le mode sans distraction que nous avions avant WP 4.1?

8

L'une des caractéristiques de WP 4.1 était l'introduction d'un nouveau mode sans distraction.

C'est une opinion personnelle, mais je pense que c'est affreux, en fait, par rapport au mode pré 4.1:

  • il fonctionne bien pire avec les styles d'éditeur
  • il offre moins d'espace pour écrire
  • c'est plus distrayant, car à chaque fois que vous déplacez la souris, vous voyez des choses apparaître et disparaître à nouveau .. quoi de plus distrayant qu'un mouvement sur l'écran?

BTW, le but de cette question n'est pas de donner un avis sur la fonctionnalité, mais demandez comment puis-je récupérer le mode sans distraction avant 4.1?

J'ai fait une recherche sur le Web et j'ai trouvé beaucoup de gens qui se plaignaient, mais aucune solution, à part quelqu'un disant que seule l'option (découragée) est en train de déclasser ce qui, bien sûr, n'est pas une option.

gmazzap
la source

Réponses:

8

Éditer

Depuis WP 4.3, cela ne fonctionnera plus. WP a complètement supprimé le javascript de l' ancien mode sans distraction.

Pour l'utiliser dans les versions 4.3, obtenez une copie du fichier javascript de la version WP 4.2 et mettez-le en file d'attente avant d'utiliser le code ci-dessous.


Vous pouvez:

  1. utilisez le 'wp_editor_settings'filtre pour définir l' '_content_editor_dfw'option sur false.

  2. utiliser 'mce_buttons'et 'teeny_mce_buttons'filtres pour:

    • supprimer le nouveau bouton sans distraction, qui a l'identifiant: 'dfw'
    • ajoutez l' ancien bouton sans distraction qui a l'identifiant:'wp_fullscreen'
  3. utiliser 'tiny_mce_plugins'et 'teeny_mce_plugins'filtres pour ajouter l'ancien script de plugin, qui n'a heureusement pas été supprimé, il est nommé'wpfullscreen'

Pour # 1 et # 2, vous pouvez vérifier que l'éditeur que vous éditez est bien celui avec id 'content'.

Toutes les étapes ci-dessus en tant que plugin (disponible sous forme de Gist ici ):

<?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
la source
Ça ne marche pas pour moi. J'ai rajouté le javascript 4.2 et l'ai mis en file d'attente en haut du plugin. Le bouton s'affiche mais cliquer dessus ne fait rien. Je ne sais pas si je fais quelque chose de mal.
The How-To Geek