Я работаю над плагином, который объединяет несколько пользовательских блоков Гутенберга, и я использую модуль @ wordpress / scripts npm для сборки с помощью веб-пакета.Пока отлично работает, но проверка консоли при работе в редакторе выдает ошибки о том, что блоки уже зарегистрированы.В настоящее время у меня есть 5 блоков и 4 ошибки для каждого, поэтому я предполагаю, что при каждом вызове функции регистрации в моем плагине PHP все блоки пытаются зарегистрироваться снова.Каждый блок имеет свой собственный файл src-js, и все они объединяются в один build-js.Кроме того, у каждого блока есть своя функция регистрации с add_action в PHP, но plugins_url всегда одинаковый build-js.Я считаю, что проблема в том, как мой PHP-файл обрабатывает регистрацию, но я честно застрял в том, как решить эту проблему.Я все еще борюсь со всеми изменениями, возникающими с блоками.Может быть, кто-нибудь уже сделал это и может указать мне правильное направление?
Пример PHP-кода с 2 блоками
<?php
/*
Plugin Name: My Blocks Plugin
*/
/* Block 1 */
function register_my_block_1() {
wp_register_script(
'foo-my-block-1',
plugins_url( 'build/index.js', __FILE__ ),
array( 'wp-blocks', 'wp-element', 'wp-editor' )
);
register_block_type( 'foo/my-block-1', array(
'editor_script' => 'foo-my-block-1',
) );
}
add_action( 'init', 'register_my_block_1' );
/* Block 2 */
function register_my_block_2() {
wp_register_script(
'foo-my-block-2',
plugins_url( 'build/index.js', __FILE__ ),
array( 'wp-blocks', 'wp-i18n' )
);
register_block_type( 'foo/my-block-2', array(
'editor_script' => 'foo-my-block-2',
) );
}
add_action( 'init', 'register_my_block_2' );