Atenção!

Este artigo contém código PHP e é destinado a desenvolvedores. Oferecemos esse código como cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para obter orientação adicional, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Como desativar o editor WYSIWYG dentro das configurações de confirmação

Introdução

Você gostaria de desativar o editor WYSIWYG que aparece nas configurações de confirmação? Por padrão, quando você está no construtor de formulários, você verá o editor WYSIWYG padrão que o WordPress utiliza. Mas, se você quiser desativar esse campo, pode fazê-lo facilmente adicionando algumas linhas de código PHP. Neste tutorial, vamos guiá-lo pelas etapas necessárias para desativar esse editor.

Afinal, o que é um editor WYSIWYG? É o que normalmente se chama de editor visual ou campo de rich text. Quando você entra pela primeira vez na guia Confirmation settings (Configurações de confirmação ) do construtor de formulários, normalmente verá duas guias. Uma é para o editor de texto visual (WYSIWYG) e a outra é uma guia de texto simples.

A tela de configurações de confirmação oferece dois tipos de editores, o Visual e o de Texto

O editor de texto simples é normalmente usado com mais frequência por usuários que se sentem à vontade para escrever HTML.

Adição do snippet para desativar o editor WYSIWYG

Antes de criarmos o formulário, vamos primeiro adicionar o snippet que desativará esse editor. Para fazer isso, basta copiar e colar esse snippet em seu site.

Se precisar de ajuda para adicionar snippets ao seu site, consulte este 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 );

Isso desativará completamente o editor visual (o editor WYSIWYG) e você verá apenas o editor de texto.

Agora você usou com sucesso o snippet para desativar o editor WYSIWYG

Gostaria de desativar também a rolagem automática quando houver erros no formulário? Confira nosso artigo sobre Como desativar o efeito de rolagem em erros de validação de campo.