Я следовал руководству Nettuts о том, как добавить пользовательскую кнопку в TinyMCE ( http://net.tutsplus.com/tutorials/wordpress/wordpress-shortcodes-the-right-way/ ).
Он отлично работает и все такое, но я хочу добавить много кнопок, и мне интересно, есть ли умный способ сделать это без необходимости дублировать весь код снова и снова.
Вот код, который я использую для добавления кнопки:
add_shortcode("quote", "quote");
function quote( $atts, $content = null ) {
return '<div class="right text">"'.$content.'"</div>';
}
add_action('init', 'add_button');
function add_button() {
if ( current_user_can('edit_posts') && current_user_can('edit_pages') )
{
add_filter('mce_external_plugins', 'add_plugin');
add_filter('mce_buttons_3', 'register_button');
}
}
function register_button($buttons) {
array_push($buttons, "quote");
return $buttons;
}
function add_plugin($plugin_array) {
$plugin_array['quote'] = get_bloginfo('template_url').'/js/customcodes.js';
return $plugin_array;
}
И затем я создаю файл customcodes.js с этим кодом в:
(function() {
tinymce.create('tinymce.plugins.quote', {
init : function(ed, url) {
ed.addButton('quote', {
title : 'Add a Quote',
image : url+'/image.png',
onclick : function() {
ed.selection.setContent('[quote]' + ed.selection.getContent() + '[/quote]');
}
});
},
createControl : function(n, cm) {
return null;
},
});
tinymce.PluginManager.add('quote', tinymce.plugins.quote);
})();
Итак, еще раз, как я могу добавить несколько кнопок, не выполняя весь этот код для каждой новой кнопки?
Спасибо 🙂 Себастьян
Сначала добавьте дополнительные кнопки внутри обратного вызова кнопок.
Затем добавьте дополнительные функции кнопок внутри javascript плагина.
И так далее, для любых дополнительных кнопок, которые вы хотите.