web-dev-qa-db-ger.com

Entfernen Sie die QuickTag-Schaltflächen, jedoch nicht den Visual/Text-Editor und die Registerkarten

Ich möchte die Quick-Tag-Schaltflächen im Texteditor (HTML) in TinyMCE entfernen, aber nicht den HTML-Editor selbst oder die Registerkarten für die Auswahl zwischen den Editoren.

Wenn ich benutze

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

Wordpress entfernt den gesamten Texteditor und die Registerkarten Visual/Text, um zwischen den Editoren zu wählen (wie im Codex angegeben). Ich habe versucht

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

Alle Tasten bleiben jedoch erhalten. Durchsuchen Sie den Quellcode Ich kann keinen neuen nativen Code für die Schaltfläche zum Entfernen finden. Fügen Sie ihn einfach hinzu. Aus Gründen der Abwärtskompatibilität ist eine edRemoveTag = function(){}, aufgeführt, die eigentliche Funktion kann ich jedoch nicht finden.

Ich habe nur den this verwandten Thread für QuickTags in WP4.0 gefunden, aber er scheint dieses Problem nicht zu behandeln.

2
myol

Wie Sie bereits bemerkt haben, werden durch Setzen von Quicktags auf "false" die Registerkarten "visual" und "text" entfernt. Um die Registerkarten zu verlassen, müssen Sie die Quicktags auf true setzen und die Schaltflächen entfernen:

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

Um dies in allen Quicktags-Instanzen zu haben, können Sie den quicktags_settings-Filter verwenden:

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;
}

Wenn Sie ein Plugin verwenden, das benutzerdefinierte QuickTags hinzufügt, können Sie dem Filter ein Argument mit hoher Priorität zuweisen (spätere Ausführung):

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