自定义 ACF Gutenberg 块未出现在 WPGraphQL 架构中

2024-02-08

我要去一个headless设置 WordPress 作为我的 CMS。为了实现这一目标,我使用了以下 WordPress 插件:

  1. Advanced Custom Fields PRO- 使用专业版才能获得blocks option
  2. WP GraphiQL
  3. WP GraphQL
  4. WPGraphQL for Advanced Custom Fields- 使ACF字段出现在模式中

现在,我创建了自定义 ACF Gutenberg 块以实现两件事:

  1. 视觉上更干净的后端
  2. 更容易创建页面(不需要添加ACF组,只需将模块拖放到后端即可)

这是我创建的方式hero block (acf-blocks/blocks.php):

$hero = array(
    'name' => 'hero',
    'title' => __('Hero'),
    'description' => __('Add hero section'),
    'render_callback' => 'block_render',
    'category' => 'formatting',
    'icon' => $icon,
    'mode' => 'edit',
    'category' => 'custom',
    'post_types' => array('page','post'),
    'keywords' => array( 'hero' )
);

$blocks = [
    $hero
];

return $blocks;

这是我注册的方式(acf-blocks/function.php):

function block_acf_init(){
  $path   = get_template_directory().'/inc/acf-blocks/blocks.php';
  $blocks = require($path);
  foreach($blocks as $block) {
    acf_register_block_type($block);
  }
}

if( function_exists('acf_register_block_type') ) {
  add_action('acf/init', 'block_acf_init');
}

In the ACF插件,我创建了一个名为的字段组hero. hero有一个text场,并有规则“如果 block 等于 Hero,则显示此字段组".

Note: 我有Show in GraphQL在现场启用并GraphQL Field Name is block_hero.

现在,我创建了一个名为的页面homepage在该页面中,我添加了Hero块并给文本字段一个值。

然后,在GraphiQL IDE,当我查看下面的可用选项时pages我没有看到任何相关内容hero。即使我在架构中搜索“英雄”,也不会出现任何内容。

Does WPGraphQL无法使用自定义古腾堡块?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义 ACF Gutenberg 块未出现在 WPGraphQL 架构中 的相关文章

随机推荐