Разница между шаблонами блоков и шаблонами редактора сайта

Вопрос или проблема

В версии WP 6.7 добавлена функция register_block_template(). Регистрация шаблона здесь, по-видимому, создаёт шаблон страницы, который можно выбрать в настройках записи > шаблоны в правой боковой панели. Вы можете использовать этот метод для регистрации шаблонов, которые включают части шаблона (например, шапки и подвал). Они отображаются в разделе Внешний вид > Редактор > Шаблоны сайта.

С другой стороны, аргумент template в регистрации пользовательского типа записи принимает массив блоков, которые служат по умолчанию для the_content(). Это также называется шаблоном блока.

function my_plugin_register_custom_post_type() {
    $labels = array(
        'name'               => __('Custom Posts', 'textdomain'),
        'singular_name'      => __('Custom Post', 'textdomain'),
        'add_new'            => __('Add New', 'textdomain'),
        'add_new_item'       => __('Add New Custom Post', 'textdomain'),
        'edit_item'          => __('Edit Custom Post', 'textdomain'),
        'new_item'           => __('New Custom Post', 'textdomain'),
        'view_item'          => __('View Custom Post', 'textdomain'),
        'search_items'       => __('Search Custom Posts', 'textdomain'),
        'not_found'          => __('No custom posts found', 'textdomain'),
        'not_found_in_trash' => __('No custom posts found in Trash', 'textdomain'),
        'all_items'          => __('All Custom Posts', 'textdomain'),
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'show_in_rest'       => true, // Включает поддержку блочного редактора
        'supports'           => array('title', 'editor', 'thumbnail'),
        'template'           => array(
            array('core/paragraph', array(
                'placeholder' => 'Add your content here...',
            )),
            array('core/image', array()),
        ),
        'template_lock'      => 'all', // Запрещает редактирование структуры шаблона
    );

    register_post_type('custom_post', $args);
}
add_action('init', 'my_plugin_register_custom_post_type');

Таким образом, оба этих понятия являются Шаблонами Блоков? Технически, они оба являются массивом блоков, но один из них внедряет их в the_content(), а другой служит шаблоном страницы.

Таким образом, оба этих понятия являются Шаблонами Блоков?

Как вещи назваются, зависит от науки номенклатуры и не имеет особого значения. Разные люди могут называть вещи по-разному. Я лично могу называть их оба шаблонами блока в смысле, что они оба являются формой введения структуры блоков Gutenberg в WordPress (отсюда блок), которые можно использовать повторно (отсюда шаблон).

Шаблон, зарегистрированный с помощью register_block_template(), может использоваться для окружающей структуры страницы вокруг контента записи.

Шаблон в аргументе template функции register_post_type() — это “массив блоков для использования в качестве состояния по умолчанию для сеанса редактора.”1 То есть, это содержимое записи по умолчанию при начале сеанса редактирования через блочный редактор.

Ответ или решение

Вопрос о различиях между блок-шаблонами и шаблонами редактора сайта затрагивает важный аспект работы с WordPress, особенно в контексте новой функциональности в версии WP 6.7. В этой версии появилась функция register_block_template(), которая позволяет регистрировать шаблоны для использования в структуре страниц, в то время как параметр template в функции register_post_type() служит для определения блоков, которые станут основой содержимого записи при открытии редактора блоков.

Блок-шаблоны, регистрируемые через register_block_template()

Эти шаблоны создаются для всей страницы и позволяют задавать структуру страницы, включая такие элементы, как шапка и подвал. Зарегистрированные таким образом блок-шаблоны становятся доступны в секции "Внешний вид > Редактор > Шаблоны" и могут быть выбраны в настройках страницы на боковой панели. Они служат для формирования общего окружения вокруг собственного контента страницы или публикации.

Блок-шаблоны, используемые в register_post_type()

В то же время, "template" аргумент в функции register_post_type() задаёт массив блоков, который используется как начальное состояние содержимого в редакторе. Это своего рода заготовка, которая появляется при начале редактирования контента. Этот массив блоков обеспечивает стандартизацию содержимого, предлагая пользователю определённую структуру для заполнения и настраивающую опыт создания публикаций.

Таким образом, оба понятия, хоть и называются шаблонами блоков, обслуживают различные цели и этапы процесса создания контента в WordPress. Шаблоны, созданные через register_block_template(), фокусируются на внешней структуре страницы, в то время как шаблоны в register_post_type() концентрируются на содержимом записи.

Эти технологии обе формируют основу для повторного использования и стандартизации блоков в Gutenberg, но обращены они на разные аспекты – оформление страницы в целом и содержимое отдельных постов. Пользователи WordPress должны учитывать эти различия для оптимального использования инструментов платформы.

Если вы работаете с WordPress и стремитесь улучшить свою работу с шаблонами, важно помнить о разнице в применении и настройке этих инструментов для достижения максимальной эффективности.

Оцените материал
Добавить комментарий

Капча загружается...