Отобразить определенный атрибут продукта в почтовых уведомлениях WooCommerce - PullRequest
1 голос
/ 21 мая 2019

Мне не удается добавить атрибут продукта в электронное письмо с новым заказом WooCommerce.Я добавил нижеприведенный фрагмент к email-order-items.php (после // SKU .. part), но ничего не происходит.Даже титул «Местоположение:» не виден.Есть мысли по этому поводу?

// Attribute
if ( $item_meta->meta ) {echo '<br/><small>Location: ' . nl2br( $product->get_attribute( 'location' ) ) . '</small>';}

1 Ответ

1 голос
/ 21 мая 2019

Обновлено - Вместо переопределения шаблонов Woocommerce, всегда сначала пытайтесь использовать доступные хуки, такие как:

add_action( 'woocommerce_order_item_meta_start', 'add_download_links_to_thank_you_page', 10, 3 );
function add_download_links_to_thank_you_page( $item_id, $item, $order ) {
    // Set below your product attribute taxonomy (always starts with "pa_")
    $taxonomy = 'pa_location';

    // On email notifications
    if ( ! is_wc_endpoint_url() && $item->is_type('line_item') ) {
        $product    = $item->get_product();
        $label_name = get_taxonomy( $taxonomy )->labels->singular_name;

        if ( $term_names = $product->get_attribute( $taxonomy ) ) {
            echo '<br/><small>' . $label_name . ': ' . nl2br( $term_names ) . '</small>';
        }
    }
}

Код помещается в файл functions.php вашей активной дочерней темы (или активной темы). Проверено и работает.

enter image description here

Вместо этого вы можете использовать woocommerce_order_item_meta_end hook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...