is_email_trigger_order( $email_class ) ) { $email->trigger( $order_id, wc_get_order( $order_id ) ); } elseif ( $this->is_email_trigger_subscription( $email_class ) && function_exists( 'wcs_get_subscriptions_for_order' ) ) { $order_subscriptions = wcs_get_subscriptions_for_order( $order_id ); $subscription = array_pop( $order_subscriptions ); $email->trigger( $subscription ); } else { $email->trigger( $order_id, wc_get_order( $order_id ) ); } } public function check_email_subscription( $result, $email_class, $order_id ) { $error_text = sprintf( __( 'This is not a valid subscription order. Please select a valid subscription order ID.

Go to orders page to check %s.', 'yaymail' ), 'Order ID' ); if ( $this->is_email_trigger_subscription( $email_class ) || $this->is_email_trigger_order( $email_class ) ) { if ( ! wcs_order_contains_subscription( $order_id ) ) { $result = [ 'error' => $error_text ]; return $result; } return true; } return $result; } private function is_email_trigger_order( $class_email ) { $array = [ 'WCS_Email_Completed_Renewal_Order', 'WCS_Email_Completed_Switch_Order', 'WCS_Email_Customer_On_Hold_Renewal_Order', 'WCS_Email_New_Renewal_Order', 'WCS_Email_New_Switch_Order', 'WCS_Email_Processing_Renewal_Order', 'WCS_Email_Payment_Retry', 'WCS_Email_Customer_Payment_Retry', ]; return in_array( $class_email, $array, true ); } private function is_email_trigger_subscription( $class_email ) { $array = [ 'WCS_Email_Cancelled_Subscription', 'WCS_Email_Expired_Subscription', 'WCS_Email_On_Hold_Subscription', ]; return in_array( $class_email, $array, true ); } }