我正在开发一个插件来注册PluginDocumentSettingPanel
在古腾堡。由于这不是块,我不能使用register_block_type
函数来添加其资产,因此我必须使用enqueue_block_editor_assets
取而代之的行动。
function my_enqueue_block_editor_assets() {
$dir = dirname( __FILE__ );
$script_asset_path = "$dir/build/index.asset.php";
if ( ! file_exists( $script_asset_path ) ) {
throw new Error(
\'You need to run `npm start` or `npm run build` for the block first.\'
);
}
$script_asset = require( $script_asset_path );
wp_enqueue_script(
\'my-gutenberg-plugin\',
plugins_url( \'build/index.js\', __FILE__ ),
$script_asset[\'dependencies\'],
filemtime( plugin_dir_path( __FILE__ ) . \'build/index.js\' )
);
}
add_action( \'enqueue_block_editor_assets\', \'my_enqueue_block_editor_assets\' );
但是,使用这种方法,我似乎无法使用生成的
index.asset.php
文件来加载脚本依赖项,因为我得到了多个
wp.editor is undefined
/
wp.coreData is undefined
/ 等错误。如果我使用
array( \'wp-editor\', \'wp-data\', etc... )
, 没有错误。
有没有办法使用index.asset.php
使用文件enqueue_block_editor_assets
? 如果是,如何?