From c813c7b9b17a1b58f9be9ae53d84d90c5784dbb4 Mon Sep 17 00:00:00 2001 From: omarkasem Date: Wed, 19 Feb 2025 17:51:27 +0200 Subject: [PATCH] Orders the forms alpha --- includes/class-admin-views.php | 2 +- includes/class-common.php | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/includes/class-admin-views.php b/includes/class-admin-views.php index 063d39f5cb..2b7312848d 100644 --- a/includes/class-admin-views.php +++ b/includes/class-admin-views.php @@ -235,7 +235,7 @@ public function add_view_dropdown() { return; } - $forms = gravityview_get_forms(); + $forms = gravityview_get_forms(true, false, 'title', 'ASC'); $current_form = \GV\Utils::_GET( 'gravityview_form_id' ); // If there are no forms to select, show no forms. diff --git a/includes/class-common.php b/includes/class-common.php index cbc0b0ca4c..4008158a88 100644 --- a/includes/class-common.php +++ b/includes/class-common.php @@ -404,7 +404,16 @@ public static function get_forms( $active = true, $trash = false, $order_by = 'i $forms = GFAPI::get_forms( $active, $trash ); } - $forms = wp_list_sort( $forms, $order_by, $order, true ); + + // Handle case-insensitive title sorting with uppercase/lowercase letters + if ( 'title' === $order_by ) { + usort( $forms, function( $a, $b ) use ( $order ) { + $result = strcasecmp( $a['title'], $b['title'] ); + return ( 'DESC' === $order ) ? -$result : $result; + }); + } else { + $forms = wp_list_sort( $forms, $order_by, $order, true ); + } /** * Modify the forms returned by GFAPI::get_forms().