We sacrifice by not doing any other technology, so that you get the best of Magento.

We sacrifice by not doing any other technology, so that you get the best of Magento.

    Here we are going to explain, how to get billing and shipping address by customer id in Magento 2?

    We need to create a module for that.

    Let’s call it – Magemonkeys_Customeraddress

    The next step is to create a block file – Block/Address.php

    <?php
    namespace MagemonkeysCustomeraddressBlock;
    
    class Address extends MagentoFrameworkViewElementTemplate
    {
        protected $accountManagement;
    
        public function __construct(
            MagentoFrameworkViewElementTemplateContext $context,
            MagentoCustomerApiAccountManagementInterface $accountManagement,
            array $data = []
        ) {
            $this->accountManagement = $accountManagement;
            parent::__construct($context, $data);
        }
    
        public function getDefaultShippingAddress($customerId)
        {
            try {
                $address = $this->accountManagement->getDefaultShippingAddress($customerId);
            } catch (NoSuchEntityException $e) {
                return __('You have no shipping address');
            }
            return $address;
        }
    
        public function getDefaultBillingAddress($customerId)
        {
            try {
                $address = $this->accountManagement->getDefaultBillingAddress($customerId);
            } catch (NoSuchEntityException $e) {
                return __('You have no billing address');
            }
            return $address;
        }
    }

    Then, we need to call block function in phtml file w we can create view/customeraddress.phtml file

    $customerId = 11;
    echo $this->getDefaultShippingAddress($customerId);
    echo $this->getDefaultBillingAddress($customerId);

    Last, but not least, clear your cache to check the output.

    field_5bfb909c5ccae

      Get a Free Quote