Для каждой позиции заказа я хочу отображать два метаполя. Один показывает, а другой нет.

То, что отображается, — это поле, которое отображается в продукте, и люди выбирают вариант, и он прекрасно добавляется. То, что не отображается, является обязательным полем, которое рассчитывается во время создания заказа. Я добавляю мета вот так:
функция woo_save_course_to_order_items($item, $cart_item_key, $values, $order) { if (empty($values['course_to_enroll'])) { возвращаться; } // Это работает $item->add_meta_data(__('Курс', 'мой-плагин'), intval($values['course_to_enroll'])); $students_array = массив(); // Здесь нужно программировать, чтобы получить все идентификаторы учащихся и поместить их в $students_array. //Эта часть работает. $item->add_meta_data(__('Студенты', 'мой-плагин'), $students_array); // Значение сохраняется, но не отображается в порядке } add_action('woocommerce_checkout_create_order_line_item', 'woo_save_course_to_order_items', 10, 4); Я заставляю его отображаться в следующем порядке:
функция customizing_order_item_display($value, $meta, $item) { error_log(print_r($meta->key, true));// Выводит только «Курс», но не «Студенты» if ($item->get_type() === 'line_item' && $meta->key === 'Курс') { $value = get_the_title(intval($value)); //Без следующего, «Студенты» никогда не появятся в деталях заказа (внешняя и внутренняя часть). $students = $item->get_meta('Студенты', true); //Он сохраняется нормально если (is_array($students)) { $links = array_map(функция ($s) { return '' . get_the_title(intval($s)) . ''; }, $студенты); $value .="
Студенты: " . implode(", ", $links); } } вернуть $значение; } add_filter('woocommerce_order_item_display_meta_value', 'customizing_order_item_display', 10, 3); Почему мне нужно заставлять его отображать мое второе метазначение? Разве это не должно просто показать это? Почему показывается только первое поле, а не второе. Оно сохраняется. Это журнал метаданных элемента:
[meta_data:protected] => Массив ( [0] => Объект WC_Meta_Data ( [current_data:protected] => Массив ( [идентификатор] => 121 [ключ] => Курс [значение] => 60 ) [данные: защищены] => Массив ( [идентификатор] => 121 [ключ] => Курс [значение] => 60 ) ) [1] => Объект WC_Meta_Data ( [current_data:protected] => Массив ( [идентификатор] => 122 [ключ] => Студенты [значение] => Массив ( [0] => 102 ) ) [данные: защищены] => Массив ( [идентификатор] => 122 [ключ] => Студенты [значение] => Массив ( [0] => 102 ) ) ) )