From c7254b969bdb31282ee3f2f3d185095e4692fbd8 Mon Sep 17 00:00:00 2001 From: Nikita Sinelnikov Date: Mon, 17 Jan 2022 15:20:33 +0200 Subject: [PATCH] - fixed sorting the settings subtabs (Extensions section); --- includes/admin/core/class-admin-settings.php | 45 +++++++++----------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/includes/admin/core/class-admin-settings.php b/includes/admin/core/class-admin-settings.php index 7413b92e..79ce3e30 100644 --- a/includes/admin/core/class-admin-settings.php +++ b/includes/admin/core/class-admin-settings.php @@ -1810,39 +1810,32 @@ if ( ! class_exists( 'um\admin\core\Admin_Settings' ) ) { */ public function sorting_licenses_options( $settings ) { //sorting licenses - if ( empty( $settings['licenses']['fields'] ) ) { - return $settings; + if ( ! empty( $settings['licenses']['fields'] ) ) { + $licenses = $settings['licenses']['fields']; + @uasort( $licenses, function( $a, $b ) { + return strnatcasecmp( $a['label'], $b['label'] ); + } ); + $settings['licenses']['fields'] = $licenses; } - $licenses = $settings['licenses']['fields']; - @uasort( $licenses, function( $a, $b ) { - return strnatcasecmp( $a['label'], $b['label'] ); - } ); - $settings['licenses']['fields'] = $licenses; + //sorting extensions by the title + if ( ! empty( $settings['extensions']['sections'] ) ) { + $extensions = $settings['extensions']['sections']; - //sorting extensions - if ( empty( $settings['extensions']['sections'] ) ) { - return $settings; - } - - $extensions = $settings['extensions']['sections']; - @uasort( $extensions, function( $a, $b ) { - return strnatcasecmp( $a['title'], $b['title'] ); - } ); - - $keys = array_keys( $extensions ); - if ( $keys[0] !== '' ) { - $new_key = strtolower( str_replace( ' ', '_', $extensions['']['title'] ) ); - $temp = $extensions['']; - $extensions[ $new_key ] = $temp; - $extensions[''] = $extensions[ $keys[0] ]; - unset( $extensions[ $keys[0] ] ); @uasort( $extensions, function( $a, $b ) { return strnatcasecmp( $a['title'], $b['title'] ); } ); - } - $settings['extensions']['sections'] = $extensions; + $keys = array_keys( $extensions ); + $temp = array( + '' => $extensions[ $keys[0] ], + ); + + unset( $extensions[ $keys[0] ] ); + $extensions = $temp + $extensions; + + $settings['extensions']['sections'] = $extensions; + } return $settings; }