Отправьте параметры вариации в виде метаданных с помощью WooCommerce - PullRequest
0 голосов
/ 11 мая 2018

Я использую этот код для отправки данных продукта в виде метаданных.

function filter_wc_stripe_payment_metadata( $metadata, $order, $source ) {

    $count = 1;

    foreach( $order->get_items() as $item_id => $line_item ){
        $item_data = $line_item->get_data();
        $product = $line_item->get_product();
        $location = $product->get_attribute('location');
        $product_name = $product->get_name();
        $item_quantity = $line_item->get_quantity();
        $item_total = $line_item->get_total();
        $metadata['Item '.$count] = '';
        $count += 1;
    }

    return $metadata;
}

add_filter( 'wc_stripe_payment_metadata', 'filter_wc_stripe_payment_metadata', 10, 3 );

Как получить выбранный вариант продукта и добавить его в метаданные?

1 Ответ

0 голосов
/ 16 мая 2018

$attribute = $product->get_attribute('location'); у меня почему-то не сработало. Так что я использовал это, которое до сих пор хорошо работает

foreach ( $item->get_formatted_meta_data() as $meta_id => $meta ) {
    $value = $args['autop'] ? wp_kses_post( $meta->display_value ) : wp_kses_post( make_clickable( trim( $meta->display_value ) ) );
    $strings[] = $value;
}

$attribute = $strings[1];
$attribute = str_ireplace('<p>','',$attribute);
$attribute = str_ireplace('</p>','',$attribute);  

$metadata['Location'] = $attribute;
...