Estou tentando adicionar um editor TinyMCE no meu front-end, de onde os usuários podem postar, mas até agora não tiveram sorte. 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: o editor de texto não está sendo adicionado à área de texto. Embora o arquivo js do TinyMCE esteja sendo carregado.
Respostas:
Bem, graças ao wp 3.3 agora temos
wp_editor()
função para fazer isso :)fonte
editor_selector
é para segmentar classes, não IDs.Além disso, ao usar
editor_selector
, é necessário definirmode: "specific_textareas"
para que ele funcione.Consulte http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector
Portanto, seu JavaScript e HTML devem ficar assim:
fonte
Embora a resposta @maryisdead possa estar certa, darei outra dica, primeiro verifique se há apenas um elemento em sua página com o id = "editor" e depois configure o seguinte:
Use também o jQuery em vez de $ no seu código javascript para garantir que você esteja chamando os métodos e seletores do jQuery.
fonte
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.
fonte