С появлением Гутенберга (Gutenberg), микрошаблоны вышли на новый уровень. Посмотрим пример создания собственного микрошаблона и вставки его в шаблон.
Начать надо с регистрации сайдбара, для этого вставим в functions.php темы следующий код:
1 2 3 4 5 6 7 8 |
register_sidebar([ 'name' => 'Home page widgets', 'id' => 'widgets-home', 'before_widget' => '<div class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<div class="widget__title">', 'after_title' => '</div>', ]); |
Я собрался сделать ленту виджетов на главной, потому назвал сайдбар — widgets-home.
Теперь зарегистрируем блочный шаблон:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
ob_start(); dynamic_sidebar('widgets-home'); $the_sidebar = ob_get_clean(); register_block_pattern( // это имя микрошаблона 'my-theme/home-sidebar', [ 'title' => 'Home Widgets (Sidebar) ', 'categories' => array( 'featured' ), 'content' => $the_sidebar ]; ); |
Так как dynamic_sidebar сразу же выводит наш сайдбар, приходится собирать вывод функции через ob_get_contents().
Теперь мы можем вставить сайдбар в блочный шаблон, используя следующий код вставки:
1 |
<!-- wp:pattern {"slug":"my-theme/home-sidebar"} /--> |