Widgetizing themes

Posted by Andrea under Themes, how to

Often as an MU admin, we see a theme we like, or a user wants to use, but it’s not widgetized. Rest easy, as widgetizing a theme is quite easy once you know how. I promise it takes longer to read through the instructions than it does to actually do it.

I was really pleased to see this post from Theme Lab explain the process of widgetizing a theme in heaps of detail, including making widget areas in places other than the sidebar. My mind is churning at the possiblities.
To be fair, there’s been only a handful of themes I can think of that were difficult if not impossible to widgetize because of sidebar structure (one had TABLES, seriously). Most of the time, it’s a snap. If it’s not, I drop the theme or recode the sidebar. :D

While we’re on the subject of themes, has anyone got Probama working on a WPMU install? I’ve tried it on two servers and neither place would recognize that it even existed.

2 Responses to “Widgetizing themes”

  1. Leland Says:

    Hey, glad you liked the tutorial! Yes, I tried to put a lot of emphasis on the “widget friendly” portion, because like you said - tables just aren’t going to work, among other things.

  2. Darren Says:

    @Andrea: Probama was actually not designed with widgets in mind, as all the generally widgetized items (archives, etc) are in the footer, thus not very scalable. In retrospect, I should have included optional widget code for folks who don’t mind their widgets in the footer — if there’s time, I will make that change soon.

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image

google.load("language", "1"); var curstate = 0; var hasloaded = 0; function bnc_show_translated() { if (hasloaded == 0) { bnc_lang_callback(); hasloaded = 1; } for (i = 0; i < 2; i++) { var elem = $("bnc_original_" + i); if (elem) { if (curstate) { elem.show(); } else { elem.hide(); } } } for (i = 0; i < 2; i++) { var elem = $("bnc_trans_" + i); if (elem) { if (curstate) { elem.hide(); } else { elem.show(); } } } if (curstate) { $("bnc_trans_state1").show(); $("bnc_trans_state2").hide(); curstate = 0; } else { $("bnc_trans_state1").hide(); $("bnc_trans_state2").show(); curstate = 1; } } function bnc_detect_div(div_id) { var text = document.getElementById(div_id); if (text) { text = text.innerHTML; if (text.length > 0) { google.language.detect(text, function(result) { if (!result.error) { if (result.language != "en") { if (result.confidence > 0.25) { $("bnc_translating").show(); bnc_xlate_div(result.language, div_id, "en"); } } } } ); } } } function bnc_xlate_div(src_lang,div_id,o_lang) { var text = document.getElementById(div_id); if (text) { text = text.innerHTML; google.language.translate(text, src_lang, o_lang, function(result) { var translated = document.getElementById(div_id); if (result.translation) { translated.innerHTML = result.translation; } }); } } function bnc_lang_callback() { bnc_xlate_div("en", "bnc_lang_i_0_76", "en"); bnc_xlate_div("en", "bnc_lang_i_1_76", "en"); } function bnc_startup() { bnc_xlate_div("en", "bnc_translate_info", "en"); bnc_xlate_div("en", "bnc_translate_info2", "en"); bnc_detect_div("bnc_lang_i_0_76");bnc_detect_div("bnc_lang_i_1_76"); } google.setOnLoadCallback(bnc_startup);
Close
E-mail It
This blog has been fine-tuned with 13 WordPress Tweaks.