Shortcodes in Widgets

Posted on: March 10, 2010 by Chris Coyier

I had occasion the other day to run a shortcode inside of a text widget. You know shortcodes… we talk about them all the time. They are keywords in [square brackets] that do something special. Sometimes something really simple like returning a string (so you can have a global location to change that string) or something complicated like call a plugin that does something fancy like build a photo gallery.

But alas…


This ain’t gonna work “out-of-the-box”

After tinkering with some far-too-complicated solutions, someone on Twitter helped me with a deliciously simple solution: Just add this to your functions.php file:

add_filter('widget_text', 'do_shortcode');

This will ensure that the text content of widgets is parsed for shortcodes and those shortcodes are ran. Awesome.

Stephanie Leary wrote a great article on Using Shortcodes Everywhere, which covers this as well as using shortcodes in a bunch of other places: Comments, templates, excerpts, etc.

Possibly Related Posts

Thumb for Shortcodes in Widgets

Let's talk it out, folks.

  1. Greg said on March 10, 2010:

    I use this for Members only content. I use a [member][/member] code for content that is only for members and sometimes along side use a [visitor] code too.

    #1
  2. One line solutions are my favorite kind of solutions.

    #2
  3. Wow, if I had known this while doing my last WordPress project, it would have made my life so much easier. Unfortunately for deadline restrictions, I didn’t have time to thoroughly research it.

    Thanks for sharing!

    #3
  4. Also see http://hackadelic.com/the-right-way-to-shortcodize-wordpress-widgets

    #4

Comments are closed. If you have something really important to add, contact us. Thank you!