You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义区块未在block inserter中显示 求排查解决方案

问题根源

你代码里的核心错误是wp_register_script传入了服务器本地文件路径作为脚本地址,而非前端可访问的URL,浏览器无法加载到对应的区块JS文件,所以区块不会出现在插入器中。

修复方案

  1. 替换PHP中wp_register_script的路径参数,把WP_PLUGIN_DIR改成plugins_url(),修改后的PHP代码如下:
add_action('init', function() {
    $asset_file = include( WP_PLUGIN_DIR . '/ghs-custom-blocks/assets/js/landing-page-block.asset.php');

    wp_register_script('ghs-landing-page',
        // 这里改成插件URL路径,不是服务器本地路径
        plugins_url( '/ghs-custom-blocks/assets/js/landing-page-block.js' ),
        $asset_file['dependencies'],
        $asset_file['version']
    );

    register_block_type('ghs/landing-page-block', [
        'api_version' => 2,
        'editor_script' => 'ghs-landing-page',
    ]);
});
  1. 额外验证点:
  • 确认landing-page-block.asset.php文件是编译JS时自动生成的,存在且内容正确(包含依赖数组和版本号)
  • 打开编辑器控制台,查看是否有404错误或JS报错,如果还有报错可以对应排查依赖缺失问题
  • 清除站点缓存和浏览器缓存后重新打开编辑器测试

内容的提问来源于stack exchange,提问作者elliott_l

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:15:06