Я пытаюсь обновить поле пользователя 'product_themes' в WooCommerce / WP с помощью функции, которая собирает term_ids для элементов в заказе и добавляет их в профиль пользователя в поле 'product_themes' во время, когдазаказ размещен.Это работает, когда я указываю массив идентификаторов в коде, но, похоже, не собирает идентификаторы терминов из каждого элемента для пользовательской таономии «тема».
add_action('woocommerce_thankyou', 'add_theme_to_user');
add_action('woocommerce_new_order', 'add_theme_to_user');
function add_theme_to_user($order_id){
$current_user = wp_get_current_user();
$userID = $current_user->ID;
$user = 'user_' . $userID;
$prodCats = array();
$order = new WC_Order( $order_id );
$items = $order->get_items();
$push = array();
foreach ( $items as $item ) {
$item_id = $item['order_item_id'];
$product_name = $item['name'];
$terms = wp_get_post_terms( $itemID, 'theme' );
foreach ( $terms as $term){
array_push($push, $term->term_id);
}
}
update_field('product_themes', $push, 'user_' . $userID);
}
Я сверился с документацией WooCommerce и искал решение по любым подобным проблемам, но я не могу заставить его работать.Я что-то пропустил?
Большое спасибо.