Я делаю плагин, который добавляет кучу страниц в представление администратора WP. Мне бы очень хотелось использовать Timber, в частности, шаблонизатор Twig для визуализации этих страниц.
Хотя у меня практически нулевой опыт работы с WP и PHP в целом, меня привлекает этот подход, так как я знаком с предыдущими шаблонами Django / Flask, которые позволяют мне расширять базовый шаблон и указать блоки для заголовка, содержимого, нижнего колонтитула. Это кажется тривиальным для Timber при использовании его для создания темы, но я не могу понять, как заставить эту настройку работать в плагине. Конечно, я могу сделать что-то вроде этого:
add_action( 'admin_menu', 'test_setup_menu' );
function test_setup_menu() {
add_menu_page(
'Tables',
'Tables',
'manage_options',
'test-tables',
'admin_page_test'
);
}
function admin_page_test() {
Timber::Render( 'test.twig');
}
Но это, конечно, отрендерит test.twig с частями верхнего и нижнего колонтитула, уже заполненными из темы. Проблема заключается в том, что я хочу иметь возможность добавлять информацию в блоки верхнего или нижнего колонтитула. Я знаю, что могу сделать это так:
add_action('admin_head', 'add_to_head')
function add_to_head() {
...
}
Но это именно тот тип вещей, которого я пытаюсь избежать, я sh инкапсулирую этот тип логики c в веточку шаблон. Есть ли способ заставить эту работу?