Before the new version of WordPress 3.0 came out I was using this jQuery code below to add custom buttons for my own shortcodes to the editor toolbar in the admin panel, it worked great. However with version 3 out now, it has stopped working, if I view source in admin panel I can see my code below is being loaded properly, it just doesn’t work anymore, does anyone know what has changed or how to fix to work with the newer version?
// Add CUSTOM buttons to html editor in admin!
add_action('admin_footer','custom_editor_buttons');
function custom_editor_buttons() {
?>
<script type="text/javascript" charset="utf-8">
<!-- Define our Editor buttons -->
edButtons[edButtons.length] = new edButton(
"hed_0",
"Citation",
"[ref]",
"[/ref]",
""
);
edButtons[edButtons.length] = new edButton(
"hed_1",
"highlight",
"[highlight]",
"[/highlight]",
""
);
jQuery(document).ready(function (b) {
<!-- Empty editor button tray -->
<!-- then re-build it with our custom buttons -->
jQuery("#ed_toolbar").empty();
function hedShowButtons(button, i) {
if ( button.id == 'ed_img' ) {
jQuery("#ed_toolbar").append('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertImage(edCanvas);" value="' + button.display + '" />');
}else if (button.id == 'ed_link') {
jQuery("#ed_toolbar").append('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(edCanvas, ' + i + ');" value="' + button.display + '" />');
}else {
jQuery("#ed_toolbar").append('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertTag(edCanvas, ' + i + ');" value="' + button.display + '" />');
}
}
for ( var i = 0; i < edButtons.length; i++ ) {
hedShowButtons(edButtons[i], i);
}
jQuery("#ed_toolbar").append('<input type="button" id="ed_tabs" class="ed_button" title="Enable and disable tabbing" value="disable tabs" />');
jQuery("#ed_toolbar").append('<input type="button" onclick="fullscreen.on();" id="ed_fullscreen" class="ed_button" title="Enable and disable fullscreen mode" value="fullscreen" />');
jQuery("#ed_toolbar").append('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="' + quicktagsL10n.dictionaryLookup + '" value="' + quicktagsL10n.lookup + '" />');
jQuery("#ed_toolbar").append('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="' + quicktagsL10n.closeAllOpenTags + '" value="' + quicktagsL10n.closeTags + '" />');
});
</script>
<?php
}
I found it, WordPress made changes and you can now add buttons through a simple API