The Easiest Way to Save and Share Code Snippets on the web

Add Buttons to TinyMCE in Wordpress

abap

posted: Oct, 21st 2011 | jump to bottom

//////////////////////////////////////////////////////////////////
// Tabs shortcode
//////////////////////////////////////////////////////////////////
add_shortcode('tabs', 'shortcode_tabs');
	function shortcode_tabs( $atts, $content = null ) {
	extract(shortcode_atts(array(
    ), $atts));
 
	$out .= '[raw]<div class="tabs-wrapper">[/raw]';
 
	$out .= '<ul class="tabs">';
	foreach ($atts as $tab) {
		$out .= '<li><a href="#">' .$tab. '</a></li>';
	}
	$out .= '</ul>';
 
	$out .= do_shortcode($content) .'[raw]</div>[/raw]';
 
	return $out;
}
 
add_shortcode('tab', 'shortcode_tab');
	function shortcode_tab( $atts, $content = null ) {
	extract(shortcode_atts(array(
    ), $atts));
 
	$out .= '[raw]<div class="tab-content">[/raw]' . do_shortcode($content) .'</div>';
 
	return $out;
}
 
//////////////////////////////////////////////////////////////////
// Add buttons to tinyMCE
//////////////////////////////////////////////////////////////////
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,"soundcloud", "youtube", "vimeo", "tabs");  
   return $buttons;  
}  
 
function add_plugin($plugin_array) {  
   $plugin_array['soundcloud'] = get_template_directory_uri().'/admin/tinymce/customcodes.js';
   $plugin_array['youtube'] = get_template_directory_uri().'/admin/tinymce/customcodes.js';
   $plugin_array['vimeo'] = get_template_directory_uri().'/admin/tinymce/customcodes.js';
   $plugin_array['tabs'] = get_template_directory_uri().'/admin/tinymce/customcodes.js';
 
 
   return $plugin_array;  
}
?>
199 views