#wordpress #hook-woocommerce
#wordpress #хук-woocommerce
Вопрос:
Использование перехвата 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:
Найдено решение .. простое:
foreach( $items as $item_id => $product )
{
if(!$product->is_type( 'simple' ) amp;amp; $product->is_virtual())
{
$variation_id = $product['variation_id'];
$variation = new WC_Product_Variation($variation_id);
$BusinessSpeciality = current($variation->get_variation_attributes());
}
else
$BusinessSpeciality = 'Default';
}`