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

FSE主题导航区块添加短代码不显示,求助排查原因

问题原因及解决方案

核心问题1:Shortcode区块的属性名错误

core/shortcode区块的正确属性不是text,而是shortcode,且属性值需要是带方括号的完整短代码格式(比如[fk_cart_menu]),你之前用的属性名和格式不符合区块的要求,导致短代码无法被解析。

核心问题2:直接插入数组而非WP_Block实例

block_core_navigation_render_inner_blocks钩子接收的$inner_blocks是WP_Block_List对象,它内部存储的是WP_Block实例,而非单纯的数组。直接插入数组会导致区块无法被正确渲染。

修正后的代码

add_filter(
    'block_core_navigation_render_inner_blocks',
    function( $inner_blocks ) { 
        // 创建Shortcode区块的配置数组
        $shortcode_block_config = [
            'blockName'    => 'core/shortcode',         
            'attrs'        => [
                'shortcode' => '[fk_cart_menu]', // 修正属性名和格式
            ],
            'innerBlocks'  => [],
        ];

        // 创建WP_Block实例并添加到区块列表
        $shortcode_block = new WP_Block( $shortcode_block_config );
        $inner_blocks->offsetSet( null, $shortcode_block );

        return $inner_blocks;
    }
);

额外验证步骤

  • 先单独测试短代码是否能正常输出:在主题模板中添加echo do_shortcode('[fk_cart_menu]');,确认有内容输出,排除短代码本身的问题。
  • 清除WordPress缓存(包括页面缓存、区块缓存),避免旧缓存导致修改不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 23:47:20