1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
<?php /** * Customer failed order email * * This template can be overridden by copying it to yourtheme/woocommerce/emails/customer-failed-order.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://woocommerce.com/document/template-structure/ * @package WooCommerce\Templates\Emails * @version 9.7.0 */
use Automattic\WooCommerce\Utilities\FeaturesUtil;
if ( ! defined( 'ABSPATH' ) ) { exit; }
$email_improvements_enabled = FeaturesUtil::feature_is_enabled( 'email_improvements' );
/** * Hook for the woocommerce_email_header. * * @hooked WC_Emails::email_header() Output the email header * @since 3.7.0 */ do_action( 'woocommerce_email_header', $email_heading, $email ); ?>
<?php echo $email_improvements_enabled ? '<div class="email-introduction">' : ''; ?> <?php /* translators: %s: Customer first name */ ?> <p><?php printf( esc_html__( 'Hi %s,', 'woocommerce' ), esc_html( $order->get_billing_first_name() ) ); ?></p> <p><?php esc_html_e( "Unfortunately, we couldn't complete your order due to an issue with your payment method.", 'woocommerce' ); ?></p> <?php /* translators: %s: Site title */ ?> <p><?php printf( 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 ) ) ); ?></p> <p><?php esc_html_e( 'Your order details are as follows:', 'woocommerce' ); ?></p> <?php echo $email_improvements_enabled ? '</div>' : ''; ?>
<?php /** * 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 );
/** * 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 );
/** * Show user-defined additional content - this is set in each email's settings. */ if ( $additional_content ) { echo $email_improvements_enabled ? '<div class="email-additional-content">' : ''; echo wp_kses_post( wpautop( wptexturize( $additional_content ) ) ); echo $email_improvements_enabled ? '</div>' : ''; }
/** * Hook for the woocommerce_email_footer. * * @hooked WC_Emails::email_footer() Output the email footer * @since 3.7.0 */ do_action( 'woocommerce_email_footer', $email );
|