Используя шорткоды на WordPress вы наверняка сталкивались с тем, что их выполнение игнорируется в виджетах.
Проблема решается добавлением одной единственной строчки в наш
<?php add_filter('widget_text', 'do_shortcode'); ?>
Здесь я просто поставил фильтр на widget_text. Теперь можем вписывать свой «макрос» в виджет «Текст».
Источник: sooource.net