#php #wordpress #woocommerce #orders #product-quantity
#php #wordpress #woocommerce #заказы #продукт-количество
Вопрос:
У меня проблема в том, что мне нужно полное количество товаров магазина для цикла for.
Я уже пробовал:
$total_quantity = $item->get_quantity()
$total_quantity = $order->get_item_count();
$items_count = count( $order->get_items() );
К сожалению, безуспешно.
Вот мой код:
foreach ($order->get_items() as $key => $item) {
$total_quantity = $order->get_item_count(); <-- NOT WORKING
for ( $i = 0; $i < $total_quantity; $i ) {
$content .= '<button class="accordion">' . $item->get_name() . '</button>';
}
}
Предполагается, что цикл for в цикле foreach вызывает создание кнопок PDF. В зависимости от того, какую кнопку PDF вы нажимаете, индекс передается в JavaScript и проверяет, какая кнопка только что нажата.
С $ item-> get_quantity это почти сработало. Однако индекс ($ i) сбрасывается на 0 для другого продукта. Однако это должно продолжаться. Это означает, или если товар был помещен в корзину 5 раз, а другой товар был помещен в нее только один раз, тогда кнопка сначала отображается правильно 5 раз с правильным индексом, но не для второго товара.
Если у вас есть какие-либо вопросы о коде или нужны примеры, пожалуйста, дайте мне знать, и я обновлю этот пост.
Ответ №1:
Для элементов заказа используйте WC_Order_Item_Product
get_quantity()
следующий метод в FOR
цикле:
$content = ''; // Initializing
// Loop through order items
foreach ( $order->get_items() as $item_id => $item ) {
// Loop through item quantity
for ( $i = 1; $i <= $item->get_quantity(); $i ) {
$content .= '<button class="accordion">' . $item->get_name() . ' (' . $i . ')</button>';
}
}
Теперь это должно сработать…
Для подсчета полного количества элементов глобального заказа вы можете использовать:
$total_quantity = 0; // Initializing
// Loop through order items
foreach ( $order->get_items() as $item_id => $item ) {
$total_quantity = $item->get_quantity();
}
// Output
echo '<p>Total items quantity: '.$total_quantity.'</p>';
Комментарии:
1. Спасибо за ваш ответ и помощь вчера. Это полностью сработало. Но сейчас у меня другая проблема. Для каждого элемента заказа мне нужно имя элемента для кнопок. Также мне нужно правильное название элемента для каждой кнопки, которую я разместил в своем коде. Однако для каждого элемента требуется уникальное имя класса. Цель того, что я преследую, — загрузить PDF-файл для каждого элемента заказа. Также каждый заказ должен быть согласован с пользователем. Вот почему мне так нужна помощь. Если вы хотите, я могу обновить свой код или открыть другую проблему для этой проблемы? Я немного ошеломлен, извините за это.