Atenção!

Este artigo contém código PHP e destina-se a programadores. Oferecemos este código como cortesia, mas não prestamos suporte para personalizações de código ou desenvolvimento de terceiros.

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

Ignorar

Como Desativar o Editor WYSIWYG nas Definições de Confirmação

Introdução

Gostaria de desativar o editor WYSIWYG que aparece nas definições de Confirmação? Por defeito, quando está dentro do construtor de formulários, verá o editor WYSIWYG padrão que o WordPress utiliza. Mas se quisesse desativar este campo, pode fazê-lo facilmente adicionando algumas linhas de PHP. Neste tutorial, vamos guiá-lo através dos passos sobre como desativar este editor.

O que é um editor WYSIWYG de qualquer forma? Isto é o que é tipicamente referido como um Editor Visual ou campo de texto rico. Quando entra pela primeira vez no separador de definições de Confirmação do construtor de formulários, normalmente verá dois separadores. Um é para o editor de texto Visual (WYSIWYG) e o outro é um separador de Texto simples.

O ecrã de definições de confirmação oferece dois tipos de editores, o Visual e o de Texto

O editor de Texto simples é tipicamente usado com mais frequência por utilizadores que se sentem confortáveis a escrever HTML.

Adicionar o trecho para desativar o editor WYSIWYG

Antes de criarmos o formulário, vamos primeiro adicionar o trecho que desativará este editor. Para fazer isto, basta copiar e colar este trecho no seu site.

Se precisar de ajuda para adicionar trechos 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 );

Isto desativará completamente o editor Visual (o editor WYSIWYG) e só verá o editor Texto.

agora utilizou com sucesso o trecho para desativar o editor WYSIWYG

Gostaria também de desativar a rolagem automática quando existem erros no formulário? Veja o nosso artigo sobre Como Desativar o Efeito de Rolagem em Erros de Validação de Campo.