You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除Gutenberg核心区块时allowed_block_types不生效,求解决方案

解决Gutenberg核心区块过滤不生效的问题

调整钩子优先级与参数规范

你的代码逻辑本身没问题,但大概率是优先级被其他主题或插件覆盖了。把钩子优先级调高,同时修正参数命名(和官方文档保持一致,避免潜在问题):

function wpdocs_allowed_block_types( $allowed_block_types, $editor_context ) {
    if ( ! empty( $editor_context->post ) ) {
        return array(
            'core/paragraph',
            'core/heading',
            'core/list',
        );
    }
    return $allowed_block_types;
}
add_filter( 'allowed_block_types_all', 'wpdocs_allowed_block_types', 99, 2 );

排查插件与主题冲突

  • 禁用所有第三方插件,测试区块过滤是否生效。如果生效,逐个启用插件定位冲突来源。
  • 切换到WordPress默认主题(如Twenty Twenty-Four)测试,确认是否是自定义主题的其他代码覆盖了该过滤器。

针对特定帖子类型精准过滤

如果你的自定义主题仅针对特定帖子类型生效,需明确判断帖子类型:

function wpdocs_allowed_block_types( $allowed_block_types, $editor_context ) {
    // 替换成你需要生效的帖子类型slug,比如'page'或自定义类型
    if ( ! empty( $editor_context->post ) && $editor_context->post->post_type === 'post' ) {
        return array(
            'core/paragraph',
            'core/heading',
            'core/list',
        );
    }
    return $allowed_block_types;
}
add_filter( 'allowed_block_types_all', 'wpdocs_allowed_block_types', 99, 2 );

清除编辑器缓存

Gutenberg会缓存区块列表,尝试以下操作:

  • 按Ctrl+F5硬刷新浏览器页面,清除前端缓存。
  • 进入后台「设置」→「固定链接」,点击「保存更改」刷新 permalink 规则,间接清除编辑器相关缓存。

内容的提问来源于stack exchange,提问作者wgoodman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 16:09:14