如何仅在WordPress首页停用Gutenberg并启用经典编辑器
解决方案:仅WordPress首页使用经典编辑器
你的现有代码无法生效的核心问题:
!is_admin():后台编辑页面时该条件不成立,导致禁用逻辑永远触发不了is_front_page():这个函数是为前台访问场景设计的,后台编辑时无法识别当前页面是否是设置的首页
正确的实现方式是使用use_block_editor_for_post钩子(针对单篇内容生效,而非整个文章类型),代码如下:
function use_classic_editor_for_front_page( $use_block_editor, $post ) { // 获取后台设置的首页页面ID $front_page_id = get_option( 'page_on_front' ); // 判断当前编辑的页面是否为首页,是则禁用块编辑器 if ( $post->ID == $front_page_id ) { return false; } // 其他内容保持原有编辑器设置 return $use_block_editor; } add_filter( 'use_block_editor_for_post', 'use_classic_editor_for_front_page', 10, 2 );
逻辑说明
- 用
get_option('page_on_front')精准获取你在「设置-阅读」里指定的首页ID - 对比当前编辑的内容ID与首页ID,匹配时返回
false,强制切换到经典编辑器 - 非首页的页面、文章等内容,依然保留Gutenberg编辑器的默认设置
使用方法
将上述代码替换你原来的函数,粘贴到主题的functions.php文件中,保存后刷新后台即可生效。
内容的提问来源于stack exchange,提问作者Ramate
相关产品推荐
相关产品推荐

