Как получить Wordpress Widget (боковую панель) без печати? - PullRequest
0 голосов
/ 03 марта 2020

Я использую Wordpress и PHP. Я объявил пользовательскую боковую панель, используя этот код:

   function customtheme_widgets_init() {
register_sidebar( array(
  'name'          => esc_html__( 'My custom sidebar', 'customtheme' ),
  'id'            => 'my-custom-sidebar',
  'description'   => esc_html__( '.', 'customtheme' ),
  'before_widget' => '',
  'after_widget'  => '',
  'before_title'  => '',
  'after_title'   => '',
) );
}
add_action( 'widgets_init', 'customtheme_widgets_init' );

Хорошо, поэтому в моем коде я хочу получить свою боковую панель и сохранить ее в PHP переменной $ the_widget . Используя этот код:

if ( is_active_sidebar( 'my-custom-sidebar' ) ) :
    $the_widget = dynamic_sidebar('my-custom-sidebar');
endif;

, когда я делаю это, он автоматически отображает виджет (боковую панель), когда я вызываю dynamic_sidebar (), могу ли я сделать это без эха ?? есть ли в кодексе WordPress еще одна функция, которая может сделать то же самое?

1 Ответ

1 голос
/ 03 марта 2020

Нет, к сожалению, нет такой функции WordPress, как get_dynamic_sidebar(), однако распространенный метод для перевода боковой панели в переменную в виде строки таков:

if ( is_active_sidebar( 'my-custom-sidebar' ) ) :
    ob_start();
    dynamic_sidebar('my-custom-sidebar');
    $the_widget = ob_get_contents();  //or ob_get_clean();
    ob_end_clean();
endif;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...