Вопрос или проблема
Я пытаюсь добавить новый шаблон в редакторе сайта WordPress, как это
но не могу сделать это с помощью моего пользовательского плагина.
Я нашел фильтр для регистрации пользовательского шаблона
add_filter( 'default_template_types', 'register_template_type' );
function register_template_type( $templates ) {
$templates['help-us'] = array(
'title' => _x( 'Страница: Помоги нам', 'Имя шаблона' ),
'description' => __( 'Отображает шаблон Помоги нам' ),
);
return $templates;
}
после добавления этого кода я понял, что добавив файл в директорию шаблонов темы help-us.html
, я смог зарегистрировать и отобразить свой пользовательский шаблон.
Мой вопрос в том, как мы можем сделать это через плагин? Есть ли способ добавить пользовательский шаблон через папку плагина? Как это делается в случае с WooCommerce и другими плагинами. Я не смог найти для этого хук.
Спасибо
С уважением
Сайед Али Ахмед
Два лучших способа сделать это: (1) использовать плагин Create Block Theme или (2) дочернюю тему. Зачем усложнять это новым плагином?
В дочерней теме создайте папку templates
, и в ней добавьте файл custom-template.html
.
Вы также можете добавить новый шаблон, используя кнопку Плюс + сверху, чтобы добавить новый шаблон и экспортировать его либо как новую тему, либо как дочернюю тему с помощью Create Block Theme
В WordPress 6.7 была введена новая функция, известная как register_block_template, которая поможет нам решить наши проблемы.
Ответ или решение
Для успешной регистрации пользовательского шаблона в новом редакторе WordPress через плагин, вам необходимо использовать хук register_block_template
, который был внедрён в WordPress 6.7. Это позволяет вам регистрировать ваши шаблоны непосредственно через папку вашего плагина, подобно тому, как это делается в WooCommerce и других плагинах.
Чтобы зарегистрировать новый шаблон с помощью вашего плагина, следуйте этим шагам:
Шаг 1: Определите структуру вашего плагина
Рекомендуется создать папку для вашего плагина в директории wp-content/plugins
. Например, создайте папку с названием my-custom-templates
.
Шаг 2: Создайте основной файл плагина
Создайте файл, например, my-custom-templates.php
в папке вашего плагина и добавьте следующий код для регистрации вашего плагина:
<?php
/**
* Plugin Name: My Custom Templates
* Description: Регистрация пользовательских шаблонов для редактора WordPress
* Version: 1.0
* Author: Ваше Имя
*/
function my_custom_templates_register() {
// Регистрация нового шаблона
$templates = [
'help-us' => [
'title' => _x('Page: Help Us', 'Template Name'),
'description' => __('Displays Help Us template'),
'file' => 'templates/help-us.html', // Укажите путь к файлу вашего шаблона
],
];
// Используем register_block_template для добавления шаблона
foreach ($templates as $key => $template) {
register_block_template($key, $template);
}
}
add_action('init', 'my_custom_templates_register');
?>
Шаг 3: Создайте директорию шаблонов
Внутри папки вашего плагина создайте подкаталог templates
и поместите в него ваш файл шаблона, например, help-us.html
.
Шаг 4: Активируйте плагин
Перейдите в раздел "Плагины" в админ-панели WordPress и активируйте ваш новый плагин "My Custom Templates".
Шаг 5: Проверьте регистрацию шаблона
После активации плагина зайдите в редактор страниц и проверьте наличие нового шаблона "Help Us". Он должен отображаться в списке доступных шаблонов.
Заключение
Использование функции register_block_template
в вашем плагине является наиболее эффективным способом регистрации пользовательских шаблонов. Это позволяет избежать создания дочерней темы или использования внешних инструментов, обеспечивая интеграцию шаблонов прямо в ваш плагин. Если у вас возникнут вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться за поддержкой в сообщество WordPress.
Следуя этим шагам, вы сможете не только зарегистрировать шаблон, но и расширить функциональность вашего сайта WordPress, предлагая пользователям уникальные опции при создании страниц.