Описание woocommerce_order_get_downloadable_items
— Filter
Хук woocommerce_order_get_downloadable_items позволяет изменять массив загружаемых товаров в заказе WooCommerce. Он срабатывает при получении загружаемых товаров для конкретного заказа, что позволяет модифицировать или настраивать их перед выводом
Примеры использования
Пример добавления дополнительного загружаемого файла к заказу:
add_filter('woocommerce_order_get_downloadable_items', function($items, $order) {
$items[] = array(
'id' => '789',
'name' => 'Дополнительная электронная книга',
'file' => 'http://example.com/downloads/extra-book.pdf',
'downloads_remaining' => 5
);
return $items;
});
В этом примере мы добавляем новый загружаемый файл к списку загружаемых товаров для заказа.
Пример изменения URL загружаемого файла:
add_filter('woocommerce_order_get_downloadable_items', function($items, $order) {
foreach ($items as &$item) {
if ($item['id'] === '123') {
$item['file'] = 'http://example.com/downloads/new-file.pdf';
}
}
return $items;
});
В этом примере мы изменяем URL загружаемого файла для товара с идентификатором 123.
Пример удаления загружаемого товара из списка:
add_filter('woocommerce_order_get_downloadable_items', function($items, $order) {
foreach ($items as $key => $item) {
if ($item['id'] === '456') {
unset($items[$key]);
}
}
return $items;
});
Здесь мы удаляем загружаемый товар с идентификатором 456 из списка загружаемых товаров.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо модифицировать список загружаемых товаров в заказе, например, добавляя или удаляя файлы
– Производительность
Хук не должен существенно влиять на производительность, однако следует избегать избыточных операций в цикле
– Предупреждения
Будьте осторожны с изменениями, которые могут затруднить загрузку товаров для пользователей
Альтернативы
Тип: action
Этот хук позволяет добавлять дополнительную информацию или функционал к элементам заказа
Используйте его, если необходимо добавить метаданные к элементам заказа, а не только загружаемым товарам