Hackadelic TOC Boxes work in the sidebar as well. Out of the box. You can see a live demo on my blog by going to a post’s single view: The TOC box appears at the top of the left sidebar.1 This post here is a good example.
How I did it?
The trick is fairly simple: After enabling shortcode in widgets, I simply added a text widget with no title to my sidebar, and entered the shortcode:
[toc style="margin-bottom:1em; margin-right:1em"]
That’s it.
Since a TOC is only generated in “single mode” (meaning when viewing single posts or pages), the widget occupies no space on the front page or archive pages. In singular views, it expands to the TOC of the current post or page (if it has any headers).
Hence, this is an alternative way of “automatically” adding a TOC to all your posts – complementary to the auto-insertion feature. In particular in blogs that use in-post images extensively, adding a TOC in the sidebar is the less obtrusive and problematic way than auto-inserting it into the post, where it might interfere with the individual post layout / typesetting.
- How To Auto-Collapse TOC Boxes
- How To Couple a TOC Box to an Image
- Table Of Contents In The Sidebar
- Placing a TOC In The Sidebar Revisited - First Aid For Naughty Themes
- At least it’s at the top at time of this writing. I may move it in the future to another place, or remove it all together. [↩]

May 13th, 2009 at 12:54 am
I couldn’t figure out how to do this at first. To clarify, you must add a Text widget under the Appearance -> Widgets menu, then edit this new widget and enter [toc] in the text field.
May 13th, 2009 at 11:15 am
Perry, exactly.
May 15th, 2009 at 4:25 pm
This plugin rules. Thanks!
June 28th, 2009 at 3:12 am
Hi there.
I have a very strange problem: I CAN use your plugin fine if I insert the shortcode into a post or page. However I can’t do the same in my already shortcode-enabled sidebar widget although I’ve exactly followed your steps. Also I’ve double-checked if shortcodes are really enabled and yes, they are. Other plugins can use their shortcodes just fine. (tested with NEXTGen Gallery).
(The odd bar at the top of the sidebar is my try with your advice.)
June 28th, 2009 at 3:14 am
ps: maybe your comment-editor would benefit from buttons (for the sloppy or confused users like me that tend to try codes they don’t know xD )
June 28th, 2009 at 12:27 pm
GhostLyrics, how did you enable sidebar shortcodes? Did you use the technique described in this post?
June 28th, 2009 at 2:14 pm
Actually I tried both. The “wrong” one and your afterwards. Currently it’s yours beeing active. None of them made the TOC appear.
June 28th, 2009 at 6:44 pm
GhostLyrics, have a look at my latest post. It covers your issue.
August 14th, 2009 at 2:24 pm
I use a customised theme that doesn’t use widgets in the sidebar. Is it possible to use this in the sidebar without converting the theme to use widgets? If so, how? Thanks.
August 20th, 2009 at 8:01 pm
David, see my other comment on that topic here.
August 22nd, 2009 at 6:08 am
Thanks, I ended up widgetizing my theme (still in development). For the record I had to:
1. add the following to my theme’s functions.php:
if (!is_admin())
add_filter('toc', 'do_shortcode', 11);
2. add a text widget to the sidebar containing [toc].
I was trying to use the PHP Code widget, but it doesn’t work.
August 22nd, 2009 at 9:09 am
David, exactly as described in this post.
When widgetizing your theme, you’d want to take sidebar/content ordering into accout, as descibed in my other post.
January 12th, 2010 at 8:24 pm
Hi There.
One problem thou, the toc wont work as a widget on a footer.only on a side bar.think of adding this option?
January 13th, 2010 at 7:42 pm
Yoav, I don’t see how a TOC in the footer can make sense?!?
January 13th, 2010 at 9:13 pm
Well as a matter of fact, i didn’t really thought about it very deep.there is the technical issue which i think \supporting this widget on the footer will make this widget more generic for all of the themes that has 3/4 footer sections.
in a website design thinking , you are probably right.placing the TOC at the footer does not make any sense.
January 13th, 2010 at 10:14 pm
Yoav, I see. And while semantically putting a TOC into a 3/4 footer still doesn’t make sense to me, it is technically already possible – because most 3/4 footer implementations are technically “sidebars” that can contain widgets.
January 15th, 2010 at 4:50 pm
yes, you right.i do tried on my website to use it on the footer but didn’t worked.i will check it again.i finally used it on the sidebar and it worked perfectly.there is one more issue in my opinion.your article should emphasize the fact that the TOC is built after it’s looking for lines that are “Headline”(1-6 i assume).giving some screen shot example’s will be the best.
July 26th, 2010 at 5:24 pm
Hello,
is there a way of inserting it directly in the theme code?
I have many pages and posts already created and I would like to have some kind of so I can put in my custom-page-theme.php before the_content()… so the TOC will be automatically added to all my pages and posts that I have written so far…
I havent figured out how to do this with your custom code [toc title="TOC box title" hint="hover hint"
class="extra CSS class" style="inline CSS style"]…
Can you help me on this?
Thanks and regards
Antonio
July 27th, 2010 at 12:12 pm
Antonio, you don’t need to insert it to your theme. Either add it to your sidebar as described here, where it will automatically show up on every post and page (that has headings), or use the auto-insertion option.