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

使用block.json配置ACF区块:如何恢复插入器图标悬停预览

解决ACF区块插入器悬停预览失效的问题

针对你遇到的ACF区块插入器悬停预览失效问题,以下是基于block.json的具体解决步骤和配置补充:

1. 修正example字段的结构

你之前在example/attributes中添加的代码可能未匹配ACF区块的数据存储结构。ACF区块的自定义字段数据默认存放在attributes.data下,因此需要将示例数据嵌套在data字段内,同时建议添加viewportWidth指定预览窗口宽度,保证预览效果完整。

示例block.json配置:

{
  "name": "custom/your-block-name",
  "title": "你的区块名称",
  "category": "common",
  "icon": "admin-comments",
  "acf": {
    "mode": "preview",
    "renderTemplate": "blocks/your-block/your-block-template.php"
  },
  "example": {
    "viewportWidth": 1200,
    "attributes": {
      "data": {
        "your_acf_field_key_1": "示例标题文本",
        "your_acf_field_key_2": "https://example.com/preview-banner.jpg",
        "your_acf_field_key_3": true
      }
    }
  }
}

注意:your_acf_field_key需替换为你实际使用的ACF字段键名。

2. 确保PHP模板兼容预览模式

插入器预览时,区块尚未保存到数据库,ACF的get_field()无法获取真实数据,因此需要在模板中加入降级逻辑,读取example中的示例数据作为 fallback:

示例PHP模板代码:

<?php
// 优先获取真实字段数据,无数据时使用示例数据
$field_title = get_field('your_acf_field_key_1') ?? $block['attributes']['data']['your_acf_field_key_1'];
$field_banner = get_field('your_acf_field_key_2') ?? $block['attributes']['data']['your_acf_field_key_2'];
?>

<div <?php echo get_block_wrapper_attributes(); ?>>
  <h2><?php echo esc_html($field_title); ?></h2>
  <img src="<?php echo esc_url($field_banner); ?>" alt="预览横幅">
</div>

3. 检查ACF区块注册代码

确保functions.php中的注册代码直接指向block.json所在的文件夹,避免混用旧版数组注册方式:

add_action('acf/init', 'register_custom_acf_blocks');
function register_custom_acf_blocks() {
  // 注册单个区块
  acf_register_block_type(__DIR__ . '/blocks/your-block');
  
  // 批量注册多个区块可使用循环
  // $block_dirs = glob(__DIR__ . '/blocks/*', GLOB_ONLYDIR);
  // foreach ($block_dirs as $dir) {
  //   acf_register_block_type($dir);
  // }
}

4. 清除缓存并刷新编辑器

完成配置修改后,务必执行以下操作:

  • 清空WordPress页面缓存(若使用缓存插件)
  • 刷新Gutenberg编辑器页面,或重新加载后台
  • 必要时重新登录后台,确保配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 13:51:13