更改 elementor 中小组件类别的顺序

问题描述 投票:0回答:2

我想先保留我的自定义类别。有人可以提供帮助。

请参阅我的代码,

function add_elementor_widget_categories( $elements_manager ) {

    $elements_manager->add_category(
        'custom-widget',
        [
            'title' => __( 'Custom Widget', 'elementor' ),
            'icon' => 'fa fa-plug',
            'active' => true,
        ]
    );

}
add_action( 'elementor/elements/categories_registered', 'add_elementor_widget_categories' );
php wordpress elementor
2个回答
2
投票

我用这样的东西

add_action( 'elementor/elements/categories_registered', function(\Elementor\Elements_Manager $elements_manager ) {

        //add our categories
        $category_prefix = 'aqb-';

        $elements_manager->add_category(
            $category_prefix . 'widgets',
            [
                'title' => 'Blah Blah',
                'icon' => 'fa fa-plug',
            ]
        );

        //hack into the private $categories member and reorder it so our stuff is at the top

        $reorder_cats = function() use($category_prefix){
            uksort($this->categories, function($keyOne, $keyTwo) use($category_prefix){
                if(substr($keyOne, 0, 4) == $category_prefix){
                    return -1;
                }
                if(substr($keyTwo, 0, 4) == $category_prefix){
                    return 1;
                }
                return 0;
            });

        };
        $reorder_cats->call($elements_manager);

    } );

基于此https://github.com/elementor/elementor/issues/7445#issuecomment-472822406


1
投票

对我有用的解决方案是

function add_elementor_widget_categories( $elements_manager ) {

    $categories = [];
    $categories['NEWCAT'] =
        [
            'title' => 'NEWCAT',
            'icon'  => 'fa fa-plug'
        ];

    $old_categories = $elements_manager->get_categories();
    $categories = array_merge($categories, $old_categories);

    $set_categories = function ( $categories ) {
        $this->categories = $categories;
    };

    $set_categories->call( $elements_manager, $categories );

}

add_action( 'elementor/elements/categories_registered', 'add_elementor_widget_categories') ;

还可以在上面的评论线程中找到:https://github.com/elementor/elementor/issues/7445#issuecomment-692123467

© www.soinside.com 2019 - 2024. All rights reserved.