public function translate_status_label($status) { $original_status = $status; $status = strtolower($status); $custom_labels = get_option('gravityflow_app_settings_labels', array()); $status_labels = rgar($custom_labels, 'status'); $custom_label = rgar($status_labels, $status); if (!empty($custom_label)) { return $custom_label; } switch ($status) { case 'pending': return esc_html__('Pending', 'gravityflow'); break; case 'complete': return esc_html__('Complete', 'gravityflow'); break; case 'approved': return esc_html__('Approved', 'gravityflow'); break; case 'rejected': return esc_html__('Rejected', 'gravityflow'); break; case 'cancelled': return esc_html__('Cancelled', 'gravityflow'); break; } $steps = Gravity_Flow_Steps::get_all(); foreach ($steps as $step) { $status_configs = $step->get_status_config(); foreach ($status_configs as $status_config) { if ($status == strtolower($status_config['status'])) { return $step->get_status_label($original_status); } } } return $original_status; }