zwei tinyMCE-Editoren auf derselben Seite

Ich habe diese Methode verwendet, um den ersten Editor einzugeben:

auf functionen.php:

function add_admin_theme_styles() { wp_enqueue_style('thickbox'); } add_action('admin_print_styles', 'add_admin_theme_styles'); wp_enqueue_script('jquery'); wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_enqueue_script('word-count'); wp_enqueue_script('post'); wp_enqueue_script('editor'); function fb_change_mce_buttons( $initArray ) { $initArray['theme_advanced_blockformats'] = 'p,address,pre,code,h3,h4,h5,h6'; $initArray['theme_advanced_disable'] = 'strikethrough'; $initArray['theme_advanced_buttons1'] = 'bold,italic,underline,bullist,justifyleft,justifycenter,justifyright,justifyfull,link,unlink'; $initArray['theme_advanced_buttons2'] = 'fontselect, fontsizeselect,forecolor,backcolor'; $initArray['width'] = '320px'; $initArray['theme_advanced_resizing'] = 'false'; return $initArray; } add_filter('tiny_mce_before_init', 'fb_change_mce_buttons'); add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') ); 

und Echo des Editors, in der Optionsseite Abschnitt:

  

Es funktionierte wie ein Zauber. aber als ich “the_editor” noch einmal benutzen wollte, hat es sich massiert.

Was ist die beste Methode, um dies zu erreichen? Weißt du was? Vergessen Sie “am besten” … geben Sie mir “Arbeitsmethode”, und es wird tun …

Solutions Collecting From Web of "zwei tinyMCE-Editoren auf derselben Seite"

Es war sicher nicht einfach, aber hier kommt es.

(1) Ich konnte den Media-Button nicht auf andere Weise mit den Editoren arbeiten lassen, während ich die Media-Buttons von einem der Editoren ausschloss, aber nicht von allen, also musste ich the_editor ();

der JS ist widersprüchlich bei der Implementierung von multi-instance von tinyMCE mit the_editor (); während versucht wird, mehr the one the_editor () zu implementieren; Sie werden sehen, dass die Registerkarten “HTML” und “VISUAL” widersprüchlich sind und obwohl ich nicht tief in der JS war, bin ich sicher, dass die Ursache die Verwendung von ID-Selektoren für “edButtonHTML” und “edButtonPreview” ist ” Tasten.

in meinem Fall hatte ich nichts dagegen, den core zu hacken, also habe ich in wp-includes / general-template.php nur den Inhalt zwischen den Zeilen 1828-1831 entfernt:

 
< ?php wp_print_scripts( 'quicktags' ); ?>

(2) und versteckte die “edButtonHTML” und “edButtonPreview” -Buttons, in functions.php (diese lästige WYSIWYG lässt mich nicht zeigen Sie die ganze “< " Stil ">” function Snipp, aber Sie haben das Bild:

edButtonPreview {Anzeige: keine}

edButtonHTML {display: none}

(3) Und als letzter Schlag sind die Media-Buttons auch widersprüchlich, denn auch hier verwenden wir ID als Selektoren:

 
Upload/Insert Add an Image Add Video Add Audio Add Media

Das Problem ist, wenn Sie sich nicht auf den Editor konzentrieren, sondern nur auf den letzten Editor. Die Lösung hierfür besteht darin, einen Jquery-Listener hinzuzufügen, der die tinyMCE-API verwendet, um sich auf die einzelnen Editoren zu konzentrieren. Das erste Argument des “tinyMCE.execInstanceCommand” ist die ID des Editors, AKA die ID, die Sie in den functionen von_editor () verwendet haben:

  

Das ist es. sag mir wie es geht. weiß jemand, wie man einen Fehler in TRAC deklariert? Ich habe es nie gemacht und ich denke, das ist ein Bug, da es WordPress-Entwicklern nicht erlaubt, mehr als einen winzigen MCE-Editor zu benutzen, sonst ... es sei denn, ich verpasse etwas.