WOOCOMMERCE - ПОЛУЧЕНИЕ ВАРИАНТА ПОДПИСКИ, ВЫБРАННОГО КЛИЕНТОМ - PullRequest
0 голосов
/ 30 марта 2019

Использование крючка woocommerce для получения информации о продажах после получения оплаты. Я могу найти название продукта, тот факт, что это подписка, но мне нужно получить вариант подписки, который был выбран клиентом. Я могу получить список вариантов, но не точный выбранный.

Все работает, за исключением возможности узнать, какой вариант выбирает клиент,

Я даже пытался получить метаданные, но не смог получить к ним доступ.

$meta_data = $product->get_formatted_meta_data('_', true);

foreach( $items as $item_id => $product )
     {  
     $ProductName         = $product->get_name();        // readable name of 
     product
     $ProductId           = $product->get_product_id();  // woocommerce id of 
     product
     $PaymentAmount       = $product->get_total();       // Get Payment of subscription item, 
     $ProductIndex        = wc_get_product($ProductId);
     if(! WC_Subscriptions_Product::is_subscription( $ProductIndex ) )  
        continue;

     if(!$product->is_type( 'simple' ))
     {
      // THIS CRASHES WITH INTERNAL SERVICE ERROR

      $variation_attributes = $product->get_variation_attributes();
      foreach($variation_attributes as $attribute_taxonomy => $term_slug)
        {
        $taxonomy = str_replace('attribute_', '', $attribute_taxonomy );
        $attribute_name = get_taxonomy( $taxonomy )->labels->singular_name;
       $BusinessSpeciality = get_term_by( 'slug', $term_slug, $taxonomy )->name;
       }

     }





1 Ответ

0 голосов
/ 30 марта 2019

Нашли решение .. просто:

foreach( $items as $item_id => $product )
{   
if(!$product->is_type( 'simple' ) && $product->is_virtual())
{
$variation_id       = $product['variation_id'];
$variation          = new WC_Product_Variation($variation_id);
$BusinessSpeciality = current($variation->get_variation_attributes());  
}
else
 $BusinessSpeciality = 'Default'; 

}`



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