Управление буфером вывода

Никогда не использовал эту штуку, но наконец пригодилось. В WordPress есть функция dynamic_sidebar, но нет функции get_dynamic_sidebar, чтобы можно было получить содержимое виджета в переменную. Это делает невозможным добавление виджета в шорткод. Решение:

function footer_menu() {
    if (is_active_sidebar('footer-menu')) {
        ob_start();
        dynamic_sidebar('footer-menu');
        $content = ob_get_contents();
        ob_end_clean();
        return $content;
    }
}
add_shortcode('footer_menu', 'footer_menu');
Code language: PHP (php)