Intereting Posts
get_theme_mod выводит число при использовании WP_Customize_Cropped_Image_Control Использование wp_set_auth_cookie для пользовательской учетной системы пользователя Как я могу добавить мета-окно в редактор сообщений, содержащий все элементы пользовательской таксономии, как флажок? WP URL / значки возвращает 403 запрещенную ошибку Как отобразить меню, только если оно имеет сообщения в пользовательском меню? Анимированный gif для больших пальцев Что такое rel = «pingback», и каково использование этого на моем сайте? Контент-генератор для сайта разработки межсетевой бенчмаркинг с wordpress Не удалось получить метабокс. Архивы пользовательских сообщений и одиночные страницы, не отображающие данные пользовательской таксономии Где поместить правила перезаписи W3 Total Cache в .htaccess? WooCommerce – результаты на странице не работают после перезагрузки страницы Пользовательские поля для обозревателя Как отключить задания wordpress cron для дочернего сайта?

два редактора tinyMCE на одной странице

Я использовал этот метод для ввода первого редактора:

on functions.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";') ); 

и повторять редактор, в разделе страницы параметров:

 <?php the_editor($options['MoobAboutText'], "MoobAboutText", "", true); ?> 

Оно работало завораживающе. но когда я снова попытался использовать «the_editor», он получил массу.

Каков наилучший способ сделать это? знаешь что? забудьте о «лучшем» … дайте мне «рабочий метод», и он будет делать …

Solutions Collecting From Web of "два редактора tinyMCE на одной странице"

Конечно, это было нелегко, но вот оно.

(1) Я не мог заставить медиа-кнопку работать каким-либо другим способом с редакторами, исключая медиа-кнопки от одного из редакторов, но не от всех из них, поэтому мне пришлось использовать the_editor ();

JS конфликтует при реализации множественного экземпляра tinyMCE с помощью the_editor (); при попытке реализовать больше: the_editor (); вы увидите, что вкладки «HTML» и «VISUAL» противоречивы, и хотя я не получил глубоких знаний в JS, я говорю, что причиной является использование селекторов идентификаторов для «edButtonHTML» и «edButtonPreview» ".

в моем случае я не против взломать ядро, поэтому я просто удалил, в wp-includes / general-template.php содержимое между строками 1828-1831:

 <div id="quicktags"><?php wp_print_scripts( 'quicktags' ); ?> <script type="text/javascript"> edToolbar()</script> </div> 

(2) и спрятал кнопки «edButtonHTML» и «edButtonPreview» в функции functions.php (этот раздражающий WYSIWYG не позволяет мне показать вам полный «<» стиль «>» функции snipt, но вы получили снимок:

edButtonPreview {display: none}

edButtonHTML {display: none}

(3) И как последний удар, медиа-кнопки также противоречат друг другу, потому что здесь мы также используем ID в качестве селекторов:

 <div id="media-buttons" class="hide-if-no-js"> Upload/Insert <a href="media-upload.php?post_id=0&amp;type=image&amp;TB_iframe=1" id="add_image" class="thickbox" title="Add an Image"><img src="http://img.wordpressask.com/tinymce/media-button-image.gif?ver=20100531" alt="Add an Image" onclick="return false;"></a> <a href="media-upload.php?post_id=0&amp;type=video&amp;TB_iframe=1" id="add_video" class="thickbox" title="Add Video"><img src="http://img.wordpressask.com/tinymce/media-button-video.gif?ver=20100531" alt="Add Video" onclick="return false;"></a> <a href="media-upload.php?post_id=0&amp;type=audio&amp;TB_iframe=1" id="add_audio" class="thickbox" title="Add Audio"><img src="http://img.wordpressask.com/tinymce/media-button-music.gif?ver=20100531" alt="Add Audio" onclick="return false;"></a> <a href="media-upload.php?post_id=0&amp;TB_iframe=1" id="add_media" class="thickbox" title="Add Media"><img src="http://img.wordpressask.com/tinymce/media-button-other.gif?ver=20100531" alt="Add Media" onclick="return false;"></a> </div> 

Проблема заключается в том, что вы не фокусируетесь на редакторе щелчком, кнопка мультимедиа действует только на последний редактор. магия, чтобы решить это, добавив слушателя Jquery, который использует tinyMCE API для фокусировки на каждом из редакторов, когда вы их наводите. Первый аргумент «tinyMCE.execInstanceCommand» – это идентификатор редактора, AKA – идентификатор, который вы использовали в функциях the_editor ():

 <script type="text/javascript"> jQuery(document).ready(function($) { jQuery('#editor-one').mouseover(function() { tinyMCE.execInstanceCommand("MoobWelcomeText", "mceFocus"); }); jQuery('#editor-two').mouseover(function() { tinyMCE.execInstanceCommand("MoobWelcomeText2", "mceFocus"); }); jQuery('#editor-three').mouseover(function() { tinyMCE.execInstanceCommand("MoobWelcomeText3", "mceFocus"); }); }); 

Вот и все. скажи мне, как это происходит. кто-нибудь знает, как объявить ошибку в TRAC? я никогда не делал этого, и я думаю, что это ошибка, так как это не позволит разработчикам WordPress использовать более одного редактора tinyMCE, иначе … если я не пропущу что-то.