get_list(); $widgets_active = \ElementsKit_Lite\Config\Widget_List::instance()->get_list( 'active' ); $widgets_categorized = array(); foreach ( $widgets_all as $key => $row ) { $widgets_categorized[ ( $row['widget-category'] ?? 'general' ) ][ $key ] = $row; } // Reorder categories start $widget_order = [ 'general', 'advanced', 'creative', 'special-features', 'woocommerce', 'header-footer', 'marketing', 'post', 'form', 'social-media-feeds', 'review-testimonials', 'meeting', ]; $reordered_widgets = []; // Step 1: Reorder according to $widget_order foreach ($widget_order as $category_key) { if (isset($widgets_categorized[$category_key])) { $reordered_widgets[$category_key] = $widgets_categorized[$category_key]; } } $remaining = array_diff_key($widgets_categorized, $reordered_widgets); $widgets_categorized = $reordered_widgets + $remaining; // Reorder categories end // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Checking current page type. The page only can access admin. So nonce verification is not required. $widget_css_class = isset( $_GET['ekit-onboard-steps'] ) && $_GET['ekit-onboard-steps'] == 'loaded' ? 'ekit-admin-widgets-container' : 'ekit-admin-widget-list'; ?>