2013-07-31 12 views
6

Ho 2 editor hysmlwysiwyg su una pagina admin di wordpress. Entrambi usano la funzione WP_EDITOR(). Il primo è rigido codificato nella pagina:L'editor Wordpress Wysiwyg generato dinamicamente (wp_editor) non viene visualizzato correttamente

<form name="form1" id="form1" method="post" action="" style="display:block;"> 
    <p> 
    <!-- editor here --> 
    <?php 
     wp_editor('CONTENT WILL APPEAR HERE!', 'addsometxt', array('textarea_name'=>'create_txt','textarea_rows'=>10,'wpautop'=>false)); 
    ?> 
    </p> 
    <p> 
    <input name="save" type="submit" class="button-primary" id="save" style="margin:5px;" value="Save Input" /></p> 
</form> 

Il secondo è generato in modo dinamico con una funzione PHP utilizzando una chiamata AJAX (wp_ajax_ e $ .post). Ho testato la chiamata Ajax e so che funziona; così, per brevità, ecco la funzione PHP:

<?php 
function display_editor2() { 
// grab data from database (data_from_db) and display in editor 
    wp_editor($row->data_from_db, 'editsometxt', array('textarea_name'=>'edit_txt','textarea_rows'=>10,'wpautop'=>false)); 

} 
?> 

Il problema è che anche se il 2 ° editore sta visualizzando; manca tutti i pulsanti della barra degli strumenti. Vedi l'immagine sotto per l'illustrazione. Qualcuno sa a chi rimediare?

enter image description here

+2

Ho trascorso WEEK cercando di ottenere wp_editor() per chiamare correttamente tramite AJAX e ANCORA non so come è fatto correttamente. È arrivato con ogni sorta di problemi meravigliosi. Mi arrendo mentre sei ancora avanti se fossi in te - prova un metodo diverso che non richiede wp_editor() e Ajax. –

+1

@Joe Buckle - LOL! Sì, la situazione sembra triste. Probabilmente dovrò incappare in tinymce.Nella mia ricerca, ho trovato alcune soluzioni possibili: tuta di Kathy Is Awesome qui - http://tinyurl.com/ovu2x89 Il suddetto è basato sul tut di Dimas Begunoff qui (che usa i suoi Metabox WPAlchemy): http://tinyurl.com/cp55h3d La soluzione più vicina per soddisfare le mie esigenze era su questo collegamento successivo, ma non riuscivo a farlo funzionare: http://tinyurl.com/kkdmlkk –

+0

Ho passato anche tutti questi link. Quando tornerò in ufficio la mattina rifletterò sui miei metodi. Ho creato un plugin che ha aggiunto in modo dinamico editor completi, ma non in questo modo. Bare with me –

risposta

0

Probabilmente è necessario aggiungere media_buttons e parametro TinyMCE sulla vostra chiamata AJAX.

Qualcosa di simile a questo:

<?php 
function display_editor2() { 
    // grab data from database (data_from_db) and display in editor 
    wp_editor($row->data_from_db, 'editsometxt', array('textarea_name'=>'edit_txt','media_buttons'=>true,'tinymce'=>true,'textarea_rows'=>10,'wpautop'=>false)); 

    } 
?> 

vi consiglio di controllare la pagina di riferimento wp_editor() funzione a Wordpress Codex.

+0

"media_buttons" è true per impostazione predefinita, controlla il testo e l'icona "Upload/Insert", non i pulsanti a cui mi riferisco. –

0

Ho avuto lo stesso problema.

Quando aggiungo il codice <?php wp_footer(); ?> nel mio footer.php, funziona.

+0

@Markus Leggi correttamente Inoltre fornisce una soluzione. –

0

Ehi anche io ho avuto lo stesso problema!

Ho appena disattivato tutti i plug-in che sono stati installati da me e ho aggiornato la pagina, quindi ho provato a modificare anche il post/le pagine nell'area visiva. Verifica quando funzionerà per te. :)

0

ho Hade lo stesso problema, utilizzando questo:

<?php wp_editor(get_the_content()); ?> 

Con il superamento di un ID (secondo parametro a wp_editor) ho ottenuto i pulsanti. Ti piace questa:

<?php wp_editor(get_the_content(), "with_a_ID_its_buttons_are_showing"); ?> 
0

Ho avuto lo stesso problema esatto e risolto in questo modo (WP 4.7):

prima creare un editor di nascosto nel modello in modo da caricare tutti i file necessari WP per TinyMCE (la ID non ha importanza):

<div style="display:none"><?php wp_editor('', 'hidden_editor'); ?></div> 

Poi, dopo aver apposto il nuovo editor al DOM, utilizzare le seguenti funzioni:

quicktags({id :'your_new_editor_id'}); 
tinymce.execCommand('mceAddEditor', true, 'your_new_editor_id'); 

L'utilizzo di tinymce.init non ha funzionato per me, poiché il nuovo ID di editor non è stato riconosciuto. Queste due righe confermano i quicktags e aggiungono il nuovo editor.

Problemi correlati