我要去一个headless
设置 WordPress 作为我的 CMS。为了实现这一目标,我使用了以下 WordPress 插件:
-
Advanced Custom Fields PRO
- 使用专业版才能获得blocks
option
WP GraphiQL
WP GraphQL
-
WPGraphQL for Advanced Custom Fields
- 使ACF字段出现在模式中
现在,我创建了自定义 ACF Gutenberg 块以实现两件事:
- 视觉上更干净的后端
- 更容易创建页面(不需要添加
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(使用前将#替换为@)