如果您使用的是WordPress 5.8(例如,v5.8.3),那么我想答案是:
我知道我可以is_admin() 检查它是否在编辑器中并且没有加载js文件,但我正在尝试查看如何使用register_block_type().
。。是它不能;不在WordPress 5.8中。
查看脚本属性:viewScript
Since: WordPress 5.9.01 |
{ "viewScript": "file:./build/view.js" }块类型前端脚本定义。只有在查看网站正面的内容时,它才会排队。
所以viewScript 属性(inblock.json/JS)或view-script 在PHP中,不起作用,因为属性/参数supported in WordPress 5.9 (道具至https://jeremyfelt.com/2021/12/17/some-block-json-minutia/ ).
除了只注册脚本句柄之外,还有其他解决方案if ( ! is_admin() ), 您也可以尝试以下方法:
调用后立即注销脚本register_block_type(). 例如。
add_action( \'init\', function () {
register_block_type( __DIR__, /* block.json */
array(
\'render_callback\' => \'render_my_block\',
\'script\' => \'my-custom-js\',
)
);
wp_deregister_script( \'my-custom-js\' );
} );
然后使用
wp_enqueue_scripts hook. 例如。
add_action( \'wp_enqueue_scripts\', function () {
wp_register_script( \'my-custom-js\', plugins_url( \'build/script.js\', __FILE__ ) );
}, 9 );
但请确保根据块名称使用正确的脚本句柄。E、 g.如果名称为
my-plugin/notice, 那么把手应该是
my-plugin-notice-script, i、 e.the
/ (斜杠)替换为
- (破折号),然后附加
-script 在最后。
尝试(&T);在WordPress v5.8.3中测试工作