J'essaie d'ajouter un éditeur TinyMCE dans mon frontend à partir duquel les utilisateurs peuvent publier mais n'ont pas eu de chance jusqu'à présent. Voici le code:
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>
Problème: Texteditor n'ajoute pas à la zone de texte. Bien que le fichier js TinyMCE se charge.
Réponses:
Eh bien, grâce à wp 3.3, nous avons maintenant une
wp_editor()
fonction pour le faire :)la source
editor_selector
est pour le ciblage des classes, pas des identifiants.En outre, lors de l'utilisation
editor_selector
, il est nécessaire de définirmode: "specific_textareas"
pour que cela fonctionne.Voir http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector
Votre JavaScript et HTML devraient donc ressembler à ceci:
la source
Même si la réponse @maryisdead est peut-être juste, je vais vous donner un autre conseil, assurez-vous d'abord qu'il n'y a qu'un seul élément dans votre page avec l'id = "editor" puis configurez tinymce comme ceci:
Utilisez également jQuery au lieu de $ dans votre code javascript pour vous assurer que vous appelez les méthodes et les sélecteurs jQuery.
la source
editor_selector est destiné aux classes et non aux identifiants.
Vous devez utiliser la valeur de editor_selector comme nom de classe de la zone de texte.
la source