“wp_editor” não exibe o TinyMCE corretamente quando colchetes usados no nome

4

Estou criando uma página de opções personalizadas e tenho uma área de texto que eu transformei em um editor do TinyMCE usando o wp_editor.

O TinyMCE é exibido corretamente, mas quebra quando eu incluo colchetes no $ id. Aqui está o código que estou usando para o callback da função add_settings_field:

function px_wp_editor($args){
        $options    = get_option('theme_options');  
        $value      = $options['px_wp_editor'];
        $id         = 'theme_options[px_wp_editor]';

         extract( $args );
         $class = (!empty($class))?$class:'';

         $settings = array(
            'textarea_rows'     => 12,
            'textarea_name'     => $id, 
            'editor_class'      => $class,
            'media_buttons'     => true,
            'tinymce'           => true
         );
         wp_editor($value, $id, $settings );            
    }

Se eu removi os colchetes do valor $ id, ele será exibido corretamente. No entanto, devido à maneira como estou recuperando os valores usando get_option, preciso chamar "textarea_name" como está atualmente, com colchetes.

A primeira foto abaixo é como se parece ao usar colchetes para o nome (os ícones completos não são exibidos corretamente e não há botões Visual / Text.

A segunda foto é como ela deve ser exibida.

    
por pixelkicks 30.07.2014 / 17:15

2 respostas

1

Você não pode colocar colchetes como id do editor. mas você pode alterar o nome da área de texto por.

wp_editor('','px_wp_editor',array('textarea_name' => 'theme_options[px_wp_editor]'));

a parte importante é "id" e "textarea_name" são diferentes.

    
por Rajilesh Panoli 11.03.2015 / 12:53
0

Eu não posso testar isso agora, mas tente isto:

$id = htmlentities('theme_options[px_wp_editor]');
    
por Jack Lenox 30.07.2014 / 17:38