在 WordPress 中,让自定义文章类型支持古腾堡编辑器(即块编辑器)其实很简单,下面详细介绍几种不同的实现方式。
方法一:在注册自定义文章类型时启用支持
在注册自定义文章类型的代码里,可以通过设置 show_in_rest
参数为 true
并且保留 'editor'
在 supports
数组中来启用古腾堡编辑器的支持。以下是示例代码:
function custom_post_type_setup() {
$args = array(
'public' => true,
'label' => '自定义文章类型',
'show_in_rest' => true, // 开启 REST API 支持,这对古腾堡编辑器很关键
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' )
);
register_post_type( 'custom_post', $args );
}
add_action( 'init', 'custom_post_type_setup' );
代码解释
show_in_rest
:将其设为true
会让自定义文章类型支持 REST API,而古腾堡编辑器正是依靠 REST API 来运行的。supports
:'editor'
元素表明自定义文章类型支持内容编辑器,也就是古腾堡编辑器。
方法二:利用 use_block_editor_for_post_type
过滤器
如果你已经注册了自定义文章类型,还能使用 use_block_editor_for_post_type
过滤器来启用古腾堡编辑器。示例代码如下:
function enable_gutenberg_for_custom_post_type( $can_edit, $post_type ) {
if ( 'custom_post' === $post_type ) {
return true;
}
return $can_edit;
}
add_filter( 'use_block_editor_for_post_type', 'enable_gutenberg_for_custom_post_type', 10, 2 );
代码解释
use_block_editor_for_post_type
过滤器可用来控制特定文章类型是否使用古腾堡编辑器。- 上述代码检查文章类型是否为
custom_post
,如果是就返回true
,意味着启用古腾堡编辑器;若不是则返回原有的$can_edit
值。
方法三:使用插件来简化操作
要是你不想编写代码,也有一些插件可以帮助你管理自定义文章类型对古腾堡编辑器的支持。例如“Classic Editor”插件,它能让你为不同文章类型选择使用经典编辑器或者古腾堡编辑器;还有“Custom Post Type UI”插件,它提供了一个可视化界面来注册和管理自定义文章类型,并且可以方便地启用古腾堡编辑器支持。
大家可以根据自身的技术能力和实际需求来选择合适的方法。
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接