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

同一页面添加多个相同自定义Gutenberg区块仅首个显示如何解决?

问题原因

你的自定义Gutenberg区块多实例渲染异常的核心原因是动态渲染回调中错误使用了include_once加载模板文件:
include_once的特性是同一文件在PHP进程的整个生命周期内只会被加载一次,当页面添加多个同类型区块时,首次渲染完成后后续的渲染回调调用include_once不会重复加载template.php,因此不会输出任何内容,最终只有首个区块能正常显示。

修复方案

修改theme/blocks/sst_button/sst_button.php中的渲染回调函数,将include_once替换为include即可:

function sst_button_dynamic_render_callback( $attributes, $content ) {
    ob_start();
    // 替换include_once为include,每次渲染都加载模板输出内容
    include __DIR__ . "/template.php";
    return ob_get_clean();
}

修改后保存文件,重建区块资源即可解决多实例显示异常的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 09:48:03