how to get shipping method using order id in magento 2
-
08-02-2021 - |
Question
I am trying to get the shipping method using Object Manager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$order = $objectManager->create('Magento\Sales\Api\Data\OrderInterface')->load($orderid);
by doing var_dump on $order->getShippingAddress()->getData()
i get no such thing as shipping method, from where i can get shipping method?
I am new to magento.
after referring to this link
Magento2: How to get shipping method in order using observer `sales_order_save_after`?
I don't know how to use sales_order_save_after if that's the only solution out there.
Solution
You can try below code to get shipping method.
$shippingMethod = $order->getShippingDescription();
$order->getShippingMethod();
It's getting the shipping method. Still facing any issue let me know.
OTHER TIPS
You are doing var_dump on $order->getShippingAddress()->getData()
. Instead of that, do var_dump on $order->getData()
and you will be able to see shipping_method
.
You can get the shipping method by
$order->getShippingMethod();
or
$order->getShippingAddress()->getShippingMethod();
You will have to create an observer
events.xml
<?xml version="1.0"?>
<event name="sales_order_save_before">
<observer name="order_save_after" instance="Vendor\ModuleName\Observer\OrderSaveAfter" />
</event>
OrderSaveAfter.php
<?php
namespace Vendor\ModuleName\Observer;
use Magento\Framework\Event\ObserverInterface;
class OrderSaveAfter implements ObserverInterface {
public function execute(\Magento\Framework\Event\Observer $observer) {
$order = $observer->getEvent()->getOrder();
$order->getShippingMethod();
}
}