Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Comment désactiver l'éditeur WYSIWYG dans les paramètres de confirmation

Introduction

Souhaitez-vous désactiver l'éditeur WYSIWYG qui apparaît dans les paramètres de Confirmation ? Par défaut, lorsque vous êtes dans le constructeur de formulaires, vous verrez l'éditeur WYSIWYG standard utilisé par WordPress. Mais si vous souhaitez désactiver ce champ, vous pouvez facilement le faire en ajoutant quelques lignes de PHP. Dans ce tutoriel, nous vous guiderons à travers les étapes pour désactiver cet éditeur.

Qu'est-ce qu'un éditeur WYSIWYG de toute façon ? C'est ce à quoi on fait généralement référence en tant qu'éditeur Visuel ou champ de texte enrichi. Lorsque vous accédez pour la première fois à l'onglet des paramètres de Confirmation depuis le constructeur de formulaires, vous verrez généralement deux onglets. L'un est pour l'éditeur de texte Visuel (WYSIWYG) et l'autre est un onglet Texte simple.

L'écran des paramètres de confirmation offre deux types d'éditeurs, le Visuel et le Texte

L'éditeur de Texte simple est généralement utilisé plus souvent par les utilisateurs qui sont à l'aise avec l'écriture HTML.

Ajouter le snippet pour désactiver l'éditeur WYSIWYG

Avant de créer le formulaire, ajoutons d'abord le snippet qui désactivera cet éditeur. Pour ce faire, copiez et collez simplement ce snippet sur votre site.

Si vous avez besoin d'aide pour ajouter des extraits à votre site, veuillez consulter ce tutoriel.

/**
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 );

Cela désactivera complètement l'éditeur Visuel (l'éditeur WYSIWYG) et vous ne verrez que l'éditeur Texte.

vous avez maintenant utilisé avec succès le snippet pour désactiver l'éditeur WYSIWYG

Souhaitez-vous également désactiver le défilement automatique lorsqu'il y a des erreurs dans le formulaire ? Consultez notre article sur Comment désactiver l'effet de défilement sur les erreurs de validation de champ.