From 69368bf83ac29b4db13ab1628caeb0296d130db3 Mon Sep 17 00:00:00 2001 From: David Stone Date: Tue, 28 Apr 2026 12:06:32 -0600 Subject: [PATCH] feat: add Status column to checkout forms list table Shows Active/Inactive badge on the checkout forms list page so admins can immediately see which forms are disabled without opening each one. --- .../class-checkout-form-list-table.php | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/inc/list-tables/class-checkout-form-list-table.php b/inc/list-tables/class-checkout-form-list-table.php index d254d5aaa..08e2fb931 100644 --- a/inc/list-tables/class-checkout-form-list-table.php +++ b/inc/list-tables/class-checkout-form-list-table.php @@ -99,6 +99,27 @@ public function column_slug($item) { return "{$slug}"; } + /** + * Displays the active status of the form. + * + * @since 2.0.21 + * + * @param \WP_Ultimo\Models\Checkout_Form $item Checkout Form object. + * @return string + */ + public function column_active($item) { + + if ($item->is_active()) { + $label = __('Active', 'ultimate-multisite'); + $class = 'wu-bg-green-200 wu-text-green-700'; + } else { + $label = __('Inactive', 'ultimate-multisite'); + $class = 'wu-bg-red-200 wu-text-red-700'; + } + + return "{$label}"; + } + /** * Displays the number pof steps and fields. * @@ -194,11 +215,12 @@ public function process_single_action(): void { public function get_columns() { $columns = [ - 'cb' => '', - 'name' => __('Form Name', 'ultimate-multisite'), - 'slug' => __('Form Slug', 'ultimate-multisite'), - 'steps' => __('Steps', 'ultimate-multisite'), - 'id' => __('ID', 'ultimate-multisite'), + 'cb' => '', + 'name' => __('Form Name', 'ultimate-multisite'), + 'active' => __('Status', 'ultimate-multisite'), + 'slug' => __('Form Slug', 'ultimate-multisite'), + 'steps' => __('Steps', 'ultimate-multisite'), + 'id' => __('ID', 'ultimate-multisite'), ]; return $columns;