Обновление
Сначала вы можете попробовать одну из этих 2 альтернатив (добавить в свой код) :
1) Путь Wordpress с использованием WP_User
Класс:
// Get an instance of the WP_User Object
$user = new WP_User( $user_id );
// Get the first name and the last name from WP_User Object
$first_name = $user->first_name;
$last_name = $user->last_name;
2) Способ Woocommerce с использованием WC_Customer
Класс и методы:
// Get an instance of the WC_Customer Object
$customer = new WC_Customer( $customer_id );
// Get the first name and the last name from WC_Customer Object
$first_name = $customer->get_first_name();
$last_name = $customer->get_last_name();
Затем, глядя на исходный код WC_Customer_Data_Store
, можно найти интересную ловушку действия: woocommerce_new_customer
с уникальным аргументом $customer_id
.
В исходном коде $customer->get_first_name()
и $customer->get_last_name()
появляются в коде, поэтому они существуют, и вы можете получить их из WC_Customer
экземпляра Object, используя $customer_id
, как описано здесь ниже…
Последняя возможность
Поскольку метаданные пользователя, кажется, задерживаются, а Woocommerce, похоже, использует функции WordPress, вы можете попробовать использовать хук WordPress add_user_meta
, который имеет 3 аргумента:
$user_id
$meta_key
$meta_value
Но я не знаю, как включить его в ваш код, надеясь, что вы сможете получить данные из WP_User
Object или WC_Customer
Object.