Мы нашли этот вопрос https://wordpress.stackexchange.com/questions/320924/woocommerce-order-processing-email-subject-not-changing, и он работает нормально. Теперь мы хотим расширить это, отображая поставщика в заказе в почте о завершении заказа.
Но мы не можем вывести название магазина поставщика.
Есть ли в нашем коде явная ошибка?
add_filter ('woocommerce_email_subject_customer_completed_order',
'change_completed_email_subject', 1, 2 );
function change_completed_email_subject( $subject, $order ) {
global $woocommerce;
// Order ID
$order->get_items();
// Author id
$author_id = $product->post->post_author;
// Shopname
$vendor = dokan()->vendor->get( $author_id );
$shop_name = $vendor->get_shop_name();
// Blogname
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
// Output subject
$subject = sprintf( '%s, Deine %s Bestellung (#%s) wurde versendet! Vendor: %s', $order->billing_first_name, $blogname, $order->get_order_number(), $shop_name );
return $subject;
}
Обновление:
Я уже пытался получить имя через $shop_name = dokan()->vendor->get( $author_id )->get_shop_name();
, но безуспешно.