Please Note: This article is no longer relevant. You can now download this plugin and have all this and more. It’s a pleasure.
WordPress by default makes use of the TinyMCE rich text editor and as such, it’s quite extendable. It’s very well documented in their documentation wiki and does a lot more than what WordPress enables out of the box.
This is what I was looking to do

WordPress’ WYSIWYG displaying table editing tools on the bottom row.
Shock horror! I hear some standardistas ranting about tables being evil already. Well, I hate to burst some bubbles, but tables were invented for a reason. Believe it or not, for tabular data!
WordPress, the popular content management system was initially built for blogs, and I am guessing the omission of the ability to create and edit tables in the interface was a well thought out decision and I hold nothing against them for doing so. My clients however, they disagree. Well some of them at least.
Now that WordPress is powering not only blogs, but online magazines, corporate websites and all different types of sites, it’s quick becoming a very powerful and popular generic CMS. Extending it has become a big game.
My client had a pricing page and needed the ability to add tables, modify cells, padding, spacing, background colours etc.
Cobus over at Fresh01 found this page on the WordPress codex site which you’ll noticed I’ve commented on. I just felt the need to write this post with a bit more detail.
The process
Firstly I downloaded TinyMCE, and put the “table” folder into the plugins directory in wp-includes/js/tinymce/plugins.
Then in the file tiny_mce_config.php I edited this line:
$plugins = array( 'safari', 'inlinepopups', 'autosave', 'spellchecker', 'paste', 'wordpress', 'media', 'fullscreen' );
and added
,'table'
into the array.
I then scrolled down and edited
$mce_buttons_3 = apply_filters('mce_buttons_3', array( ));
by adding
'tablecontrols'
making it
$mce_buttons_3 = apply_filters('mce_buttons_3', array('tablecontrols' ));
Then opened up a post/page edit and refreshed the page…. Viola! Table editing tools.
Problem, I can’t edit the cell colours…
Well, after editing the config file and being familiar with the way it’s laid out, all I needed to do was look at the available buttons and controls for TinyMCE and find the button for background colour, and that happend to be backcolor.
Therefore, after ‘tablecontrols’ in the line
$mce_buttons_3 = apply_filters('mce_buttons_3', array('tablecontrols' ));
I added
, 'backcolor'
So it looked like
$mce_buttons_3 = apply_filters('mce_buttons_3', array('tablecontrols', 'backcolor' ));
And thats that.
If you want to add other buttons and controls, browse through that wiki page, and if they don’t activate, you’ll just need to upload the relative plugin folder from your downloaded TinyMCE package.