get_billing_first_name() ) ) . "\n\n"; echo esc_html__( "Unfortunately, we couldn't complete your order due to an issue with your payment method.", 'woocommerce' ) . "\n\n"; /* translators: %s: Site title */ echo sprintf( esc_html__( "If you'd like to continue with your purchase, please return to %s and try a different method of payment.", 'woocommerce' ), esc_html( wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ) ) ) . "\n\n"; echo esc_html__( 'Your order details are as follows:', 'woocommerce' ) . "\n\n"; /** * Hook for the woocommerce_email_order_details. * * @hooked WC_Emails::order_details() Shows the order details table. * @hooked WC_Structured_Data::generate_order_data() Generates structured data. * @hooked WC_Structured_Data::output_structured_data() Outputs structured data. * @since 2.5.0 */ do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); echo "\n----------------------------------------\n\n"; /** * Hook for the woocommerce_email_order_meta. * * @hooked WC_Emails::order_meta() Shows order meta data. * @since 1.0.0 */ do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email ); /** * Hook for woocommerce_email_customer_details. * * @hooked WC_Emails::customer_details() Shows customer details * @hooked WC_Emails::email_address() Shows email address * @since 1.0.0 */ do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email ); echo "\n\n----------------------------------------\n\n"; /** * Show user-defined additional content - this is set in each email's settings. */ if ( $additional_content ) { echo esc_html( wp_strip_all_tags( wptexturize( $additional_content ) ) ); echo "\n\n----------------------------------------\n\n"; } /** * Filters the email footer text. * * @since 3.7.0 */ echo wp_kses_post( apply_filters( 'woocommerce_email_footer_text', get_option( 'woocommerce_email_footer_text' ) ) );