return new WP_Error( 'woocommerce_rest_email_preview_not_rendered', __( 'There was an error rendering an email preview.', 'woocommerce' ), array( 'status' => 500 ) ); } ob_end_clean(); $email_subject = $this->email_preview->get_subject(); $email = new \WC_Emails(); $sent = $email->send( $email_address, $email_subject, $email_content ); if ( $sent ) { return array( // translators: %s: Email address. 'message' => sprintf( __( 'Test email sent to %s.', 'woocommerce' ), $email_address ), ); } return new WP_Error( 'woocommerce_rest_email_preview_not_sent', __( 'Error sending test email. Please try again.', 'woocommerce' ), array( 'status' => 500 ) ); } /** * Handle the POST /settings/email/save-transient. * * @param WP_REST_Request $request The received request. * @return array|WP_Error Request response or an error. */ public function save_transient( WP_REST_Request $request ) { $key = $request->get_param( 'key' ); $value = $request->get_param( 'value' ); $is_set = set_transient( $key, $value, HOUR_IN_SECONDS ); if ( ! $is_set ) { return new WP_Error( 'woocommerce_rest_transient_not_set', __( 'Error saving transient. Please try again.', 'woocommerce' ), array( 'status' => 500 ) ); } return array( // translators: %s: Email settings color key, e.g., "woocommerce_email_base_color". 'message' => sprintf( __( 'Transient saved for key %s.', 'woocommerce' ), $key ), ); } }