/var/www/html_de/wp-content/plugins/woocommerce/templates/emails/plain/email-order-items.php


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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
/**
 * Email Order Items (plain)
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/emails/plain/email-order-items.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\Plain
 * @version     9.8.0
 */

use Automattic\WooCommerce\Utilities\FeaturesUtil;

if ( ! 
defined'ABSPATH' ) ) {
    exit; 
// Exit if accessed directly.
}

$email_improvements_enabled FeaturesUtil::feature_is_enabled'email_improvements' );

foreach ( 
$items as $item_id => $item ) :
    if ( 
apply_filters'woocommerce_order_item_visible'true$item ) ) {
        
$product       $item->get_product();
        
$sku           '';
        
$purchase_note '';

        if ( 
is_object$product ) ) {
            
$sku           $product->get_sku();
            
$purchase_note $product->get_purchase_note();
        }

        if ( 
$email_improvements_enabled ) {
            
/**
             * Email Order Item Name hook.
             *
             * @since 2.1.0
             * @since 2.4.0 Added $is_visible parameter.
             * @param string        $product_name Product name.
             * @param WC_Order_Item $item Order item object.
             * @param bool          $is_visible Is item visible.
             */
            
$product_name apply_filters'woocommerce_order_item_name'$item->get_name(), $itemfalse );
            
/**
             * Email Order Item Quantity hook.
             *
             * @since 2.4.0
             * @param int           $quantity Item quantity.
             * @param WC_Order_Item $item     Item object.
             */
            
$product_name .= ' × ' apply_filters'woocommerce_email_order_item_quantity'$item->get_quantity(), $item );
            echo 
wp_kses_poststr_padwp_kses_post$product_name ), 40 ) );
            echo 
' ';
            echo 
esc_htmlstr_padwp_kses$order->get_formatted_line_subtotal$item ), array() ), 20' 'STR_PAD_LEFT ) ) . "\n";
            if ( 
$show_sku && $sku ) {
                echo 
esc_html'(#' $sku ")\n" );
            }
        } else {
            
// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
            /**
             * Email Order Item Name hook.
             *
             * @since 2.1.0
             * @since 2.4.0 Added $is_visible parameter.
             * @param string        $product_name Product name.
             * @param WC_Order_Item $item Order item object.
             * @param bool          $is_visible Is item visible.
             */
            
echo wp_kses_postapply_filters'woocommerce_order_item_name'$item->get_name(), $itemfalse ) );
            if ( 
$show_sku && $sku ) {
                echo 
' (#' $sku ')';
            }
            
/**
             * Email Order Item Quantity hook.
             *
             * @since 2.4.0
             * @param int           $quantity Item quantity.
             * @param WC_Order_Item $item     Item object.
             */
            
echo ' X ' apply_filters'woocommerce_email_order_item_quantity'$item->get_quantity(), $item );
            echo 
' = ' $order->get_formatted_line_subtotal$item ) . "\n";
            
// phpcs:enable WordPress.Security.EscapeOutput.OutputNotEscaped
        
}

        
// allow other plugins to add additional product information here.
        
do_action'woocommerce_order_item_meta_start'$item_id$item$order$plain_text );
        
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
        
echo strip_tags(
            
wc_display_item_meta(
                
$item,
                array(
                    
'before'    => "\n- ",
                    
'separator' => "\n- ",
                    
'after'     => '',
                    
'echo'      => false,
                    
'autop'     => false,
                )
            )
        );

        
// allow other plugins to add additional product information here.
        
do_action'woocommerce_order_item_meta_end'$item_id$item$order$plain_text );
    }
    
// Note.
    
if ( $show_purchase_note && $purchase_note ) {
        echo 
"\n" do_shortcodewp_kses_post$purchase_note ) );
    }
    echo 
"\n\n";
endforeach;