/var/www/html_uk/wp-content/plugins/automatewoo/includes/Variables/Order_Item_Attribute.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
<?php

namespace AutomateWoo;

defined'ABSPATH' ) || exit;

/**
 * @class Variable_Order_Item_Attribute
 */
class Variable_Order_Item_Attribute extends Variable {

    
/**
     * Load admin details.
     */
    
public function load_admin_details() {
        
$this->description __'Can be used to display the attribute term name when a customer orders a variable product.''automatewoo' );
        
$this->add_parameter_text_field'slug'__'The slug of the product attribute.''automatewoo' ), true );
    }

    
/**
     * @param array|\WC_Order_Item_Product $order_item
     * @param array                        $parameters
     * @return string
     */
    
public function get_value$order_item$parameters ) {

        if ( empty( 
$parameters['slug'] ) ) {
            return 
false;
        }

        
$attribute 'pa_' $parameters['slug'];

        
$term $order_item->get_meta$attribute );

        if ( ! 
$term ) {
            return 
false;
        }

        
$term_obj get_term_by'slug'$term$attribute );

        if ( ! 
$term_obj || is_wp_error$term_obj ) ) {
            return 
false;
        }

        return 
$term_obj->name;
    }
}