Intereting Posts
Удалить возможность взаимодействия со страницей Если заявление для калорий Объединение подобных функций короткого кода? Что я могу заменить '.get_bloginfo (' url ').' для возврата текущего URL-адреса вместо домашнего адреса? Как переместить веб-сайт WordPress с учетной записи хостинга на localhost Пользовательская страница типа сообщения для авторов Организация коротких кодов. Как отобразить их все и их атрибуты? Тип сообщения PostScript WordPress и сортировка по тегам Как сделать запрос, возвращающий страницы от нескольких родителей Вход администратора не работает Задача cron для автоматического удаления сообщений определенного типа сообщений старше x дней Как найти идентификатор привязки для первого изображения в сообщении Как отображать СТРАНИЦЫ дочерних категорий на странице категории Можно ли изменить URL пользовательских типов сообщений, чтобы скрыть пул типа сообщения? Фильтрующая корзина Woocommerce и удельное количество категории

TinyMCE с пользовательскими кнопками в мета-окне

Во-первых, позвольте мне извиниться – мой четвертый вопрос на той неделе, что я здесь! Вы все были очень полезны, поэтому, я продолжаю возвращаться ..

Я пытаюсь собрать пользовательский тип сообщения, который не использует «редактор». На странице много полей ввода, и для большинства из них потребуется специальный редактор TinyMCE.

У меня есть мета-ящики с текстовыми полями. Я пробовал следующий код:

<script type="text/javascript"> jQuery(document).ready(function() { jQuery("#etymology").addClass("mceEditor"); if ( typeof( tinyMCE ) == "object" && typeof( tinyMCE.execCommand ) == "function" ) { tinyMCE.execCommand("mceAddControl", false, "etymology"); } }); </script> 

с…

  if (function_exists('wp_tiny_mce')) { add_filter('teeny_mce_before_init', create_function('$a', ' $a["theme"] = "advanced"; $a["skin"] = "wp_theme"; $a["height"] = "75"; $a["theme_advanced_buttons1"] = "bold, italic, pastetext, pasteword, bullist, numlist, link, unlink, outdent, indent, charmap, removeformat, spellchecker, fullscreen"; return $a;')); wp_tiny_mce(true); } 

Кажется, они не работают вместе. Редактор TinyMCE появляется в правом элементе, но это только редактор WP по умолчанию, а не настройки, которые я пытался реализовать.

Итак, мои три вопроса …

Вопрос 1 При использовании мета-полей для пользовательских типов сообщений, что лучше (лучше всего, я, вероятно, подразумеваю самый гибкий и интегрированный и наименее «хакерский») способ добавить настраиваемый редактор TinyMCE для нескольких элементов?

Вопрос 2. Следуйте из Вопроса 1 … Как мне добавить пользовательские кнопки к такой настройке?

Вопрос 3 Можно ли изменить минимальную высоту редактора TinyMCE? Кажется, что она имеет ограничение в 100 пикселей.

Мои исследования и попытки сделать эту работу показывают, что WordPress, встроенный в функции TinyMCE, не будет выполнять эту работу. Могу ли мне лучше сделать это полностью на заказ, то есть отменить регистрацию существующих крошечных сценариев MCE и зарегистрировать мои собственные? Если это так, возможно ли это сделать только на моих страницах типа сообщений?

Заранее благодарим, извинения за эссе!


ОСНОВНОЕ РЕДАКТИРОВАНИЕ – ВОПРОСЫ 1 И 2 ​​РЕШЕНО ОК, любезно предоставленный Мартином пост (и код Майка!) Мне удалось настроить несколько текстовых областей с помощью пользовательских кнопок:

 function meta_genus_species() { global $post; $genus = get_post_custom_values( 'genus', $post->ID ); $species = get_post_custom_values( 'species', $post->ID ); $etymology = get_post_custom_values( 'etymology', $post->ID ); $family = get_post_custom_values( 'family', $post->ID ); $common_names = get_post_custom_values( 'common_names', $post->ID ); if (!isset($id)) { $id = "etymology"; } if (!isset($temp_min)) { $temp_min = plugins_url('images/temp_max.png' , __FILE__); } if (!isset($temp_max)) { $temp_max = plugins_url('images/temp_min.png' , __FILE__); } if (!isset($pH_min)) { $pH_min = plugins_url('images/pH_max.png' , __FILE__); } if (!isset($pH_max)) { $pH_max = plugins_url('images/pH_max.png' , __FILE__); } $tinyMCE = <<<EOT <script type="text/javascript"> jQuery(document).ready(function($) { $("#{$id}").addClass("mceEditor"); if ( typeof( tinyMCE ) == "object" && typeof( tinyMCE.execCommand ) == "function" ) { tinyMCE.settings = { theme : "advanced", mode : "none", language : "en", height:"75", width:"100%", theme_advanced_layout_manager : "SimpleLayout", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,temp_min,temp_max,pH_min,pH_max", theme_advanced_buttons2 : "", theme_advanced_buttons3 : "", setup : function(ed) { ed.addButton('temp_min', { title : 'Temperature: Minimum', image : '{$temp_min}', onclick : function() { ed.focus(); ed.selection.setContent('[temp_min]'); } }), ed.addShortcut("ctrl+1", "temp_min", "temp_min"), ed.addButton('temp_max', { title : 'Temperature: Maximum', image : '{$temp_max}', onclick : function() { ed.focus(); ed.selection.setContent('[temp_max]'); } }), ed.addButton('pH_min', { title : 'pH: Minimum', image : '{$pH_min}', onclick : function() { ed.focus(); ed.selection.setContent('[pH_min]'); } }), ed.addButton('pH_max', { title : 'pH: Maximum', image : '{$pH_max}', onclick : function() { ed.focus(); ed.selection.setContent('[pH_max]'); } }); } }; tinyMCE.execCommand("mceAddControl", true, "{$id}"); } }); </script> EOT; echo $tinyMCE; ?> <div class="meta_control normal"> <p>Description of taxonomy.</p> <div class="box"> <label>Genus</label> <p> <input name="genus" class="text" value="<?php if(isset($genus[0])) { echo esc_attr( $genus[0] ); } ?>" /> <span>Testing...</span> </p> </div> <div class="box"> <label>Species</label> <p> <input name="species" class="text" value="<?php if(isset($species[0])) { echo esc_attr( $species[0] ); } ?>" /> <span>Testing...</span> </p> </div> <p> <label>Etymology</label> <textarea cols="50" rows="5" name="etymology" id="etymology"><?php if(isset($etymology[0])) { echo esc_attr( $etymology[0] ); } ?></textarea> <span>Description</span> </p> <p> <label>Family</label> <input name="family" class="text" value="<?php if(isset($family[0])) { echo esc_attr( $family[0] ); } ?>" /> <span>Description</span> </p> <p> <label>Common Names</label> <input name="common_names" class="text" value="<?php if(isset($common_names[0])) { echo esc_attr( $common_names[0] ); } ?>" /> <span>Description</span> </p> </div> <?php } function meta_authored() { global $post; $species_author = get_post_custom_values( 'species_author', $post->ID ); $year_described = get_post_custom_values( 'year_described', $post->ID ); ?> <div class="meta_control side"> <label>Species Author</label> <p> <input name="species_author" class="text" value="<?php if(isset($species_author[0])) { echo esc_attr( $species_author[0] ); } ?>" /> </p> <label>Year Described</label> <p> <input name="year_described" class="text" value="<?php if(isset($year_described[0])) { echo esc_attr( $year_described[0] ); } ?>" /> </p> </div> <?php } 

Я абсолютно над луной! Я так много работал, чтобы найти эту информацию. Спасибо, что так много Мартин 🙂

Просто вопрос 3, чтобы ответить сейчас!

Solutions Collecting From Web of "TinyMCE с пользовательскими кнопками в мета-окне"