问题描述
我需要在某些页面的编辑屏幕上禁用gutenberg编辑器。
我知道如何针对帖子类型(如所有页面)禁用它:
/************************************************************ */
/* disable Gutenberg for post type */
add_filter('use_block_editor_for_post_type','prefix_disable_gutenberg',10,2);
function prefix_disable_gutenberg($current_status,$post_type)
{
if ( $post_type == 'page' ) return false;
return $current_status;
}
但是我只想为页面禁用它,比方说ID为“ 1716”。
如何以编程方式为某些页面ID禁用gutenberg编辑器?
解决方法
可以使用use_block_editor_for_post
钩子。
然后可以使用钩子以多种方式执行此操作,但这是一个示例;
用您要由经典编辑器编辑的post_id修改exclude_ids数组。(请记住$ post适用于所有帖子类型)
function disable_block_editor_for_page_ids( $use_block_editor,$post ) {
$excluded_ids = array( 2374,5378,21091);
if ( in_array( $post->ID,$excluded_ids ) ) {
return false;
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post','disable_block_editor_for_page_ids',10,2 );
请注意,您必须安装经典编辑器插件才能正常工作。