Aufgepasst!

Dieser Artikel enthält PHP-Code und ist für Entwickler gedacht. Wir stellen diesen Code aus Höflichkeit zur Verfügung, bieten aber keinen Support für Code-Anpassungen oder Entwicklungen von Drittanbietern.

Eine zusätzliche Anleitung finden Sie im WPBeginner-Tutorial zum Hinzufügen von benutzerdefiniertem Code.

Ablehnen

So deaktivieren Sie den WYSIWYG-Editor in den Bestätigungseinstellungen

Einführung

Möchten Sie den WYSIWYG-Editor deaktivieren, der in den Bestätigungs-Einstellungen angezeigt wird? Standardmäßig wird im Formular-Generator der von WordPress verwendete Standard-WYSIWYG-Editor angezeigt. Wenn Sie dieses Feld jedoch deaktivieren möchten, können Sie dies ganz einfach durch Hinzufügen einiger Zeilen PHP-Code erreichen. In diesem Tutorial führen wir Sie Schritt für Schritt durch die Vorgehensweise zur Deaktivierung dieses Editors.

Was ist eigentlich ein WYSIWYG-Editor? Dies ist das, was üblicherweise als visueller Editor oder Rich-Text-Feld bezeichnet wird. Wenn Sie zum ersten Mal die Registerkarte " Bestätigungseinstellungen " des Formularerstellers aufrufen, sehen Sie normalerweise zwei Registerkarten. Eine ist für den visuellen Texteditor (WYSIWYG) und die andere ist eine einfache Text-Registerkarte.

Der Bildschirm für die Bestätigungseinstellungen bietet zwei Arten von Editoren, den visuellen und den Texteditor

Der einfache Texteditor wird in der Regel häufiger von Benutzern verwendet, die mit dem Schreiben von HTML vertraut sind.

Hinzufügen des Snippets zum Deaktivieren des WYSIWYG-Editors

Bevor wir das Formular erstellen, fügen wir zunächst das Snippet ein, das diesen Editor deaktiviert. Kopieren Sie dazu einfach dieses Snippet und fügen Sie es auf Ihrer Website ein.

Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, lesen Sie bitte dieses Tutorial.

/**
Disable the WYSIWYG editor in the Confirmation settings.

@link https://wpforms.com/developers/how-to-disable-the-wysiwyg-editor-inside-the-confirmation-settings/
 */
function wpf_dev_builder_enqueues( $view ) {
 wp_add_inline_script(
 'wpforms-builder',
 '(function( $ ) {

     // Prevent crash: module reads tinymceDefaults.tinymce.toolbar1 before
     // calling wp.editor.initialize — needs a valid object, not false.
     // This runs synchronously so WPFormsBuilder is guaranteed to exist.
     if ( typeof WPFormsBuilder !== "undefined" && WPFormsBuilder.settings ) {
         WPFormsBuilder.settings.tinymceDefaults.tinymce = { toolbar1: "" };
     }

     $( document ).ready( function() {

         // Layer 1: wp.editor.initialize intercept.
         // Prevents tmce-active class + TinyMCE init flow for confirmation editors.
         if ( typeof wp !== "undefined" && wp.editor && wp.editor.initialize && ! wp.editor.initialize.wpfPatched ) {
             var wpInit = wp.editor.initialize;
             wp.editor.initialize = function( id, settings ) {
                 if ( typeof id === "string" && /^wpforms[-]panel[-]field[_-]confirmations/.test( id ) ) {
                     settings = Object.assign( {}, settings, { tinymce: false } );
                 }
                 return _wpInit.call( this, id, settings );
             };
             wp.editor.initialize.wpfPatched = true;
         }

         // Layer 2: tinymce.init intercept.
         // Belt-and-suspenders — catches TinyMCE even if wp.editor.initialize
         // is called from a path our Layer 1 missed.
         if ( typeof tinymce !== "undefined" && ! tinymce.init.wpfPatched ) {
             var mceInit = tinymce.init;
             tinymce.init = function( settings ) {
                 if ( settings && settings.selector && /wpforms[-]panel[-]field[-]confirmations/.test( settings.selector ) ) {
                     return;
                 }
                 return _mceInit.apply( this, arguments );
             };
             tinymce.init._wpfPatched = true;
         }

         // Layer 3: event fallback — re-init any editor that slipped through.
         $( "#wpforms-builder" ).on( "wpformsBuilderConfirmationsReady", function() {
             if ( typeof wp === "undefined" || ! wp.editor ) return;
             $( ".wpforms-panel-field-confirmations-message" ).each( function() {
                 var id = $( this ).attr( "id" );
                 if ( ! id ) return;
                 wp.editor.remove( id );
                 wp.editor.initialize( id, { tinymce: false, quicktags: true } );
             } );
         } );

     } );

 } )( jQuery );'
 );

}
add_action( 'wpforms_builder_enqueues', 'wpf_dev_builder_enqueues', 10, 1 );

Dadurch wird der visuelle Editor (der WYSIWYG-Editor) vollständig deaktiviert, und es wird nur noch der Text editor angezeigt.

Sie haben nun erfolgreich das Snippet verwendet, um den WYSIWYG-Editor zu deaktivieren

Möchten Sie auch den automatischen Bildlauf bei Fehlern im Formular deaktivieren? Lesen Sie unseren Artikel über die Deaktivierung des Bildlaufeffekts bei Feldüberprüfungsfehlern.