PluginProbe
YayMail – WooCommerce Email Customizer / 3.2.6
YayMail – WooCommerce Email Customizer v3.2.6
4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 All 57 releases
yaymail / views / templates / emails / email-order-items.php

email-order-items.php in YayMail – WooCommerce Email Customizer 3.2.6, at views/templates/emails/email-order-items.php

198 lines 11.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit;
5 }
6 $text_align = is_rtl() ? 'right' : 'left';
7 $yaymail_settings = get_option( 'yaymail_settings' );
8 $yaymail_template = get_post_meta( $postID, '_yaymail_template', true );
9 $orderImagePostions = isset( $yaymail_settings['image_position'] ) && ! empty( $yaymail_settings['image_position'] ) ? $yaymail_settings['image_position'] : 'Top';
10 $orderImage = isset( $yaymail_settings['product_image'] ) && '0' != $yaymail_settings['product_image'] ? $yaymail_settings['product_image'] : '0';
11 $productHyperLinks = isset( $yaymail_settings['product_hyper_links'] ) ? $yaymail_settings['product_hyper_links'] : 0;
12 $productRegularPrice = isset( $yaymail_settings['product_regular_price'] ) ? $yaymail_settings['product_regular_price'] : 0;
13 $productItemCost = isset( $yaymail_settings['product_item_cost'] ) ? $yaymail_settings['product_item_cost'] : 0;
14
15 if ( ! function_exists( 'yaymail_get_global_taxonomy_attribute_data' ) ) :
16 function yaymail_get_global_taxonomy_attribute_data( $name, $product, $single_product = null ) {
17 $out = array();
18
19 $product_id = is_numeric( $product ) ? $product : $product->get_id();
20 $terms = wp_get_post_terms( $product_id, $name, 'all' );
21
22 if ( ! empty( $terms ) ) {
23 if ( ! is_wp_error( $terms ) ) {
24 $tax = $terms[0]->taxonomy;
25 $tax_object = get_taxonomy( $tax );
26 if ( isset( $tax_object->labels->singular_name ) ) {
27 $out['label'] = $tax_object->labels->singular_name;
28 } elseif ( isset( $tax_object->label ) ) {
29 $out['label'] = $tax_object->label;
30 $label_prefix = __( 'Product', 'woocommerce-show-attributes' ) . ' ';
31 if ( 0 === strpos( $out['label'], $label_prefix ) ) {
32 $out['label'] = substr( $out['label'], strlen( $label_prefix ) );
33 }
34 }
35 $tax_terms = array();
36 foreach ( $terms as $term ) {
37 $single_term = esc_html( $term->name );
38
39 // Show terms as links?
40 if ( $single_product ) {
41 if ( get_option( 'wcsa_terms_as_links' ) == 'yes' ) {
42 $term_link = get_term_link( $term );
43 if ( ! is_wp_error( $term_link ) ) {
44 $single_term = '<a href="' . esc_url( $term_link ) . '">' . esc_html( $term->name ) . '</a>';
45 }
46 }
47 }
48 array_push( $tax_terms, $single_term );
49 }
50 $out['value'] = implode( ', ', $tax_terms );
51 }
52 }
53
54 return $out;
55 }
56 endif;
57
58 foreach ( $items as $item_id => $item ) :
59 if ( apply_filters( 'woocommerce_order_item_visible', true, $item ) ) {
60 $product = $item->get_product();
61 $result_attributes = array();
62 ?>
63 <tr class="<?php echo esc_attr( apply_filters( 'woocommerce_order_item_class', 'order_item', $item, $order ) ); ?>">
64 <th colspan="<?php echo wp_kses_post( apply_filters( 'yaymail_order_item_product_title_colspan', 1, $yaymail_template ) ); ?>" class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>;font-weight: normal;word-wrap:break-word;vertical-align: middle;padding: 12px;font-size: 14px;border-width: 1px;border-style: solid;<?php echo esc_attr( isset( $default_args['border_color'] ) ? $default_args['border_color'] : '' ); ?>;">
65 <?php
66
67 if ( 'Bottom' == $orderImagePostions && '1' == $orderImage ) {
68 echo ( '<div class="yaymail-product-texts" style="padding: 5px 0;">' );
69 // Product name
70 if ( $productHyperLinks ) {
71 if ( method_exists( $product, 'get_permalink' ) ) {
72 echo wp_kses_post( ' <a style="color:' . $text_link_color . '" target="_blank" href="' . $product->get_permalink() . '"><span class="yaymail-product-name">' . wp_kses_post( apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ) ) . '</span></a>' );
73 } else {
74 echo wp_kses_post( '<span class="yaymail-product-name">' . wp_kses_post( apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ) ) . '</span>' );
75 }
76 } else {
77 echo wp_kses_post( '<span class="yaymail-product-name">' . wp_kses_post( apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ) ) . '</span>' );
78 }
79 // SKU
80 if ( $args['show_sku'] && is_object( $product ) && $product->get_sku() && $product ) {
81 echo wp_kses_post( '<span class="yaymail-product-sku"> (#' . $product->get_sku() . ')</span>' );
82 }
83
84 if ( $args['show_des'] && is_object( $product ) && $product->get_short_description() && $product ) {
85 echo wp_kses_post( '<div class="yaymail-product-short-descript"> (#' . $product->get_short_description() . ')</div>' );
86 }
87 if ( $args['show_des'] && is_object( $product ) && 'variation' === $product->get_type() ) {
88 echo wp_kses_post( '<div class="yaymail-product-description"> (#' . $product->get_description() . ')</div>' );
89 }
90 // allow other plugins to add additional product information here
91 do_action( 'woocommerce_order_item_meta_start', $item_id, $item, $order, $args['plain_text'] );
92
93 // Display item meta data.
94 wc_display_item_meta( $item );
95
96 echo ( '</div>' );
97 // Show title/image etc
98 if ( $args['show_image'] && is_object( $product ) ) {
99 echo wp_kses_post( apply_filters( 'woocommerce_order_item_thumbnail', '<div class="yaymail-product-image" style="margin-bottom: 5px"><img src="' . ( $product->get_image_id() ? ( false !== wp_get_attachment_image_src( $product->get_image_id(), $args['image_size'][2] ) ? wp_get_attachment_image_src( $product->get_image_id(), $args['image_size'][2] )[0] : wc_placeholder_img_src() ) : wc_placeholder_img_src() ) . '" alt="' . esc_attr__( 'Product image', 'woocommerce' ) . '" height="' . esc_attr( str_replace( 'px', '', $args['image_size'][1] ) ) . '" width="' . esc_attr( str_replace( 'px', '', $args['image_size'][0] ) ) . '" style="vertical-align:middle; margin-' . ( is_rtl() ? 'left' : 'right' ) . ': 10px;" /></div>', $item ) );
100 }
101 } else {
102 // Show title/image etc
103 if ( $args['show_image'] && is_object( $product ) ) {
104 echo wp_kses_post( apply_filters( 'woocommerce_order_item_thumbnail', '<div class="yaymail-product-image" style="margin-bottom: 5px"><img src="' . ( $product->get_image_id() ? ( false !== wp_get_attachment_image_src( $product->get_image_id(), $args['image_size'][2] ) ? wp_get_attachment_image_src( $product->get_image_id(), $args['image_size'][2] )[0] : wc_placeholder_img_src() ) : wc_placeholder_img_src() ) . '" alt="' . esc_attr__( 'Product image', 'woocommerce' ) . '" height="' . esc_attr( str_replace( 'px', '', $args['image_size'][1] ) ) . '" width="' . esc_attr( str_replace( 'px', '', $args['image_size'][0] ) ) . '" style="vertical-align:middle; margin-' . ( is_rtl() ? 'left' : 'right' ) . ': 10px;" /></div>', $item ) );
105 }
106 echo ( '<div class="yaymail-product-texts" style="padding: 5px 0;">' );
107 // Product name
108 if ( $productHyperLinks ) {
109 if ( method_exists( $product, 'get_permalink' ) ) {
110 echo wp_kses_post( ' <a style="color:' . $text_link_color . '" target="_blank" href="' . $product->get_permalink() . '"><span class="yaymail-product-name">' . wp_kses_post( apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ) ) . '</span></a>' );
111 } else {
112 echo wp_kses_post( '<span class="yaymail-product-name">' . wp_kses_post( apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ) ) . '</span>' );
113 }
114 } else {
115 echo wp_kses_post( '<span class="yaymail-product-name">' . wp_kses_post( apply_filters( 'woocommerce_order_item_name', $item->get_name(), $item, false ) ) . '</span>' );
116 }
117 // SKU
118 if ( $args['show_sku'] && is_object( $product ) && $product->get_sku() && $product ) {
119 echo wp_kses_post( '<span class="yaymail-product-sku"> (#' . $product->get_sku() . ')</span>' );
120 }
121
122 if ( $args['show_des'] && is_object( $product ) && $product->get_short_description() && $product ) {
123 echo wp_kses_post( '<div class="yaymail-product-short-descript"> (#' . $product->get_short_description() . ')</div>' );
124 }
125 if ( $args['show_des'] && is_object( $product ) && 'variation' === $product->get_type() ) {
126 echo wp_kses_post( '<div class="yaymail-product-description"> (#' . $product->get_description() . ')</div>' );
127 }
128 // allow other plugins to add additional product information here
129 do_action( 'woocommerce_order_item_meta_start', $item_id, $item, $order, $args['plain_text'] );
130
131 // Display item meta data.
132 wc_display_item_meta( $item );
133
134 echo ( '</div>' );
135 }
136
137
138 // Display item download links.
139 if ( $args['show_download_links'] ) {
140 wc_display_item_downloads( $item );
141 }
142
143 // allow other plugins to add additional product information here
144 do_action( 'woocommerce_order_item_meta_end', $item_id, $item, $order, $args['plain_text'] );
145 ?>
146
147 </th>
148 <?php if ( $productItemCost && is_object( $product ) ) { ?>
149 <th colspan="<?php echo wp_kses_post( apply_filters( 'yaymail_order_item_cost_colspan', 1, $yaymail_template ) ); ?>" class="td yaymail_item_cost_content" style="text-align:<?php echo esc_attr( $text_align ); ?>;font-weight: normal; vertical-align:middle;padding: 12px;font-size: 14px;border-width: 1px;border-style: solid;<?php echo esc_attr( isset( $default_args['border_color'] ) ? $default_args['border_color'] : '' ); ?>;">
150 <?php echo wp_kses_post( wc_price( $order->get_item_subtotal( $item, false, true ), array( 'currency' => $order->get_currency() ) ) ); ?>
151 </th>
152 <?php } ?>
153 <th colspan="<?php echo wp_kses_post( apply_filters( 'yaymail_order_item_quantity_colspan', 1, $yaymail_template ) ); ?>" class="td yaymail_item_quantity_content" style="text-align:<?php echo esc_attr( $text_align ); ?>;font-weight: normal; vertical-align:middle;padding: 12px;font-size: 14px;border-width: 1px;border-style: solid;<?php echo esc_attr( isset( $default_args['border_color'] ) ? $default_args['border_color'] : '' ); ?>;">
154 <?php echo wp_kses_post( apply_filters( 'woocommerce_email_order_item_quantity', $item->get_quantity(), $item ) ); ?>
155 </th>
156 <th colspan="<?php echo wp_kses_post( apply_filters( 'yaymail_order_item_price_colspan', 1, $yaymail_template ) ); ?>" class="td yaymail_item_price_content" style="text-align:<?php echo esc_attr( $text_align ); ?>;font-weight: normal;vertical-align: middle;padding: 12px;font-size: 14px;border-width: 1px;border-style: solid;<?php echo esc_attr( isset( $default_args['border_color'] ) ? $default_args['border_color'] : '' ); ?>; word-break: break-all;">
157 <?php
158 if ( $productRegularPrice && is_object( $product ) ) {
159 $product_regular_price = isset( $product->get_data()['regular_price'] ) ? (float) $product->get_data()['regular_price'] : null;
160 if ( (float) $product_regular_price !== $order->get_line_subtotal( $item ) ) {
161 echo wp_kses_post( '<del>' . wc_price( $product_regular_price ) . '</del> ' );
162 }
163 } echo wp_kses_post( $order->get_formatted_line_subtotal( $item ) );
164 ?>
165 </th>
166 </tr>
167 <?php
168 }
169
170 // Show purchase note
171 $purchase_note = '';
172 if ( $product && is_object( $product ) && $product->get_purchase_note() ) {
173 $purchase_note = $product->get_purchase_note();
174 }
175
176 if ( ( 'customer_on_hold_order' === $this->template
177 || 'customer_processing_order' === $this->template
178 || 'customer_completed_order' === $this->template
179 || 'customer_refunded_order' === $this->template
180 || 'customer_invoice' === $this->template
181 || 'customer_note' === $this->template
182 || 'new_order' === $this->template )
183 && isset( $args['show_purchase_note'] )
184 && is_object( $product )
185 && ! empty( $purchase_note )
186 ) {
187 ?>
188
189 <tr class="yaymail-purchase-note">
190 <th colspan="3" style="text-align:<?php echo esc_attr( $text_align ); ?>;font-weight: normal;vertical-align: middle;padding: 12px;font-size: 14px;border-width: 1px;border-style: solid;<?php echo esc_attr( isset( $default_args['border_color'] ) ? $default_args['border_color'] : '' ); ?>;">
191 <?php echo wp_kses_post( wpautop( do_shortcode( $purchase_note ) ) ); ?>
192 </th>
193 </tr>
194
195 <?php } ?>
196
197 <?php endforeach; ?>
198