web-dev-qa-db-fra.com

Supprimer les boutons quicktag mais pas l'éditeur Visual/Text et les onglets

Je souhaite supprimer les boutons de balises rapides de l'éditeur de texte (html) dans TinyMCE, mais pas l'éditeur html lui-même ni les onglets permettant de choisir entre les éditeurs.

Quand j'utilise

   $settings = array('quicktags' => false);
   wp_editor($input, 'editor_name', $settings);

Wordpress supprime l’éditeur de texte entier et les onglets Visual/Text pour choisir entre les éditeurs (comme indiqué dans le codex ). j'ai essayé

   $settings = array('quicktags' => array());

Mais tous les boutons restent. En regardant à travers le code source Je ne peux pas voir un nouveau code de bouton de suppression natif, il suffit d'ajouter. Pour la compatibilité ascendante, une edRemoveTag = function(){}, est répertoriée, mais je ne parviens pas à trouver la fonction elle-même.

J'ai seulement trouvé this un fil connexe pour les balises rapides dans WP4.0, mais cela ne semble pas couvrir ce problème.

2
myol

Comme vous l'avez noté, la définition de false pour les balises rapides supprime les onglets "visuel" et "texte". Donc, pour laisser les onglets, vous devez définir les balises rapides sur true et supprimer les boutons:

$settings = array(
    'quicktags' => array(
                       'buttons' => ','
                    )
);
wp_editor($input, 'editor_name', $settings);

Pour avoir cela dans toutes les instances de balises rapides, vous pouvez utiliser le filtre quicktags_settings:

add_filter('quicktags_settings', 'cyb_quicktags_settings');
function cyb_quicktags_settings( $qtInit  ) {
    //Set to emtpy string, empty array or false won't work. It must be set to ","
    $qtInit['buttons'] = ',';
    return $qtInit;
}

Si vous utilisez un plugin qui ajoute des balises rapides personnalisées, vous pouvez définir un argument de priorité élevée pour le filtre (exécution ultérieure):

add_filter('quicktags_settings', 'cyb_quicktags_settings', 100);
4
cybmeta