В WooCommerce получение выбранного способа доставки является общим требованием для различных задач настройки и автоматизации. Если вам нужно рассчитать стоимость доставки, применить специальную логику на основе выбранного метода или отобразить информацию о доставке клиентам, понимание того, как получить выбранный метод доставки, имеет решающее значение. В этой статье мы рассмотрим несколько методов выполнения этой задачи, приведя попутно примеры кода.
Метод 1: использование объекта WC()->session
Первый метод предполагает доступ к объекту сеанса WooCommerce для получения выбранного метода доставки. Вот пример:
$chosen_shipping_methods = WC()->session->get('chosen_shipping_methods');
$selected_shipping_method = $chosen_shipping_methods[0];
Метод 2: использование объектов WC()->sessionи WC()->cart.
Другой подход предполагает объединение объектов сеанса и корзины для получения выбранного способа доставки. Вот пример:
$chosen_shipping_methods = WC()->session->get('chosen_shipping_methods');
$selected_shipping_method = $chosen_shipping_methods[0];
$shipping_packages = WC()->cart->get_shipping_packages();
$shipping_package = reset($shipping_packages);
$shipping_rates = $shipping_package['rates'];
foreach ($shipping_rates as $shipping_rate) {
if ($shipping_rate->get_method_id() === $selected_shipping_method) {
// Do something with the selected shipping rate
}
}
Метод 3: использование объекта WC_Order
Если вам нужно получить выбранный метод доставки из объекта заказа, вы можете использовать класс WC_Order. Вот пример:
$order_id = 123; // Replace with the actual order ID
$order = wc_get_order($order_id);
$shipping_items = $order->get_items('shipping');
$shipping_item = reset($shipping_items);
$selected_shipping_method = $shipping_item->get_method_title();
Получение выбранного способа доставки в WooCommerce необходимо для различных задач настройки и автоматизации. В этой статье мы рассмотрели три метода выполнения этой задачи, используя различные объекты и классы, доступные в WooCommerce. Реализовав эти примеры кода, вы можете извлечь выбранный метод доставки и использовать его для различных целей, например для расчета стоимости доставки, применения пользовательской логики или отображения информации о доставке клиентам.
Не забудьте выбрать метод, который лучше всего соответствует вашим требованиям, и интегрировать его в свои рабочие процессы настройки или автоматизации WooCommerce.