Como eu incluo o editor de tinymce no frontend?

20

Estou tentando adicionar o editor de tinymce em meu front-end de onde os usuários podem postar. Mas sem sorte até agora. Aqui está o código:

PHP:

add_action('wp_print_scripts', 'my_enqueue_scripts');

function my_enqueue_scripts() {      
        wp_enqueue_script( 'tiny_mce' );
        if (function_exists('wp_tiny_mce')) wp_tiny_mce();
}

Javascript:

jQuery(document).ready(function(){
tinyMCE.init({
        mode : "textareas",
        theme : "simple", 
        /*plugins : "autolink, lists, spellchecker, style, layer, table, advhr, advimage, advlink, emotions, iespell, inlinepopups, insertdatetime, preview, media, searchreplace, print, contextmenu, paste, directionality, fullscreen, noneditable, visualchars, nonbreaking, xhtmlxtras, template",*/
        editor_selector :"editor"
    });
});

HTML:

<textarea rows="8" cols="40" name="description" id="editor" class="required"><?php echo $description;?></textarea>

Problema: Texteditor não está adicionando a textarea. Embora o arquivo tinymce js esteja carregando.

    
por Sisir 20.05.2011 / 12:26
fonte

4 respostas

13

Bem, graças ao wp 3.3, agora temos a wp_editor() função para fazer isso:)

    
por Sisir 12.12.2011 / 14:06
fonte
2

editor_selector é para segmentar classes, não ids.

Além disso, ao usar editor_selector , é necessário definir mode: "specific_textareas" para que funcione.

Veja enlace

Portanto, seu JavaScript e HTML devem ter esta aparência:

jQuery(document).ready(function(){
tinyMCE.init({
        mode : "specific_textareas",
        theme : "simple", 
        /*plugins : "autolink, lists, spellchecker, style, layer, table, advhr, advimage, advlink, emotions, iespell, inlinepopups, insertdatetime, preview, media, searchreplace, print, contextmenu, paste, directionality, fullscreen, noneditable, visualchars, nonbreaking, xhtmlxtras, template",*/
        editor_selector :"tinymce-enabled"
    });
});

<textarea rows="8" cols="40" name="description" id="editor" class="tinymce-enabled required"><?php echo $description;?></textarea>
    
por maryisdead 25.06.2011 / 23:15
fonte
0

A resposta do @maryisdead pode estar certa, vou dar outra dica, primeiro certifique-se de que há apenas um elemento na sua página com o id="editor" e configure o tinymce da seguinte forma:

tinyMCE.init({
    ...
    mode : "exact",
    elements : "editor"
});

Use também jQuery em vez de $ em seu código javascript para ter certeza de que está chamando métodos e seletores jQuery.

    
por adrian7 05.08.2011 / 22:00
fonte
0

editor_selector é para classes e não para ids.

Você deve usar o valor do editor_selector como o nome da classe da área de texto.

    
por Franklin Inbaraj 29.03.2016 / 07:53
fonte