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

如何在Elementor中为自定义小部件组添加新的小部件分类?

解决Elementor自定义小部件分类不生效的问题

核心问题说明

你的分类注册代码本身无语法错误,但必须将目标自定义小部件明确关联到新建分类——Elementor只会显示包含已激活小部件的分类,这是你看不到分类的关键原因。同时需确认代码放置位置(主题functions.php或自定义插件)、文本域替换为你项目的实际值。

完整解决步骤

1. 优化分类注册代码

你的基础代码可保留,建议替换为Elementor兼容的内置图标,提升稳定性:

function add_elementor_widget_categories( $elements_manager ) {
    // 注册第一个自定义分类
    $elements_manager->add_category(
        'first-category',
        [
            'title' => esc_html__( '我的自定义分类1', 'your-project-textdomain' ),
            'icon' => 'eicon-star', // 使用Elementor内置图标
        ]
    );
    // 注册第二个自定义分类
    $elements_manager->add_category(
        'second-category',
        [
            'title' => esc_html__( '我的自定义分类2', 'your-project-textdomain' ),
            'icon' => 'eicon-heart',
        ]
    );
}
add_action( 'elementor/elements/categories_registered', 'add_elementor_widget_categories' );

2. 将指定小部件关联到分类

找到你的自定义小部件类代码,新增get_categories()方法,指定该小部件所属分类:

class Your_Target_Widget extends \Elementor\Widget_Base {

    // ... 小部件原有代码(构造、渲染等) ...

    // 绑定到目标分类
    public function get_categories() {
        // 关联到第一个自定义分类,需修改时替换为对应slug即可
        return [ 'first-category' ];
    }

    // ... 小部件原有代码 ...
}

若要将其他小部件放到第二个分类,只需把返回值改为return [ 'second-category' ];。

3. 验证生效

保存代码后刷新Elementor编辑器:

  • 左侧面板会显示你新建的自定义分类
  • 目标小部件将出现在指定分类下

常见排查点

  • 若分类仍不显示:检查自定义小部件是否通过elementor/widgets/widgets_registered动作正确注册
  • 图标不显示:避免使用旧版Font Awesome图标,优先用Elementor内置图标(前缀eicon-)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 09:40:24