How to remove "Billing Agreements" and "My Wishlist" links from the navigation menu on customer account page?


Add new layout handle to one of places:

  1. If creating new module: VendorName/ModuleName/view/frontend/layout/customer_account.xml
  2. If creating new theme, 2 similar layout handles should be created to declare removal of each block separately: app/design/frontend/VendorName/themeName/Magento_Wishlist/layout/customer_account.xml (and similar layout for billing agreement module)

Layout handle content:

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>
        <referenceBlock name="customer-account-navigation-billing-agreements-link" remove="true"/>
  • add new layout handle in location app\design\frontend\Magento right? – Abdul Nov 26 '15 at 10:02
  • Isn't it better to add it to custom module? I suppose current strategy in M2 is to allow totally modular approach, when you don't have to create different types of files in different places across codebase (like it was in M1). app/design seems to be a good place for theme developers. – Alex Paliarush Nov 26 '15 at 10:06
  • currently i using luma theme then i add new layout handle in location \vendor\magento\theme-frontend-luma right? – Abdul Nov 26 '15 at 10:12
  • If you create new theme, follow devdocs.magento.com/guides/v2.0/frontend-dev-guide/themes/… . If new module, add layout to your module directory. – Alex Paliarush Nov 26 '15 at 10:30
  • rakeshjesadiya.com/wp-admin/post.php?post=1844&action=edit Magento commerce and Opensouurce. – Rakesh Jesadiya Dec 20 '19 at 11:23

Full list of customer account XML removal for M2. It will be helpful for other developers who try to remove other links. I think it's a good idea to keep it has extra information for other developers.

<?xml version="1.0"?>
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <!-- Remove unwanted account navigation links -->
        <!-- Put this file in: app/design/frontend/[Namespace]/[Theme]/Magento_Customer/layout/customer_account.xml -->

        <!-- Store credit -->
        <referenceBlock name="customer-account-navigation-customer-balance-link" remove="true"/>

        <!-- Downloadable product link -->
        <referenceBlock name="customer-account-navigation-downloadable-products-link" remove="true"/>

        <!-- Subscription link -->
        <referenceBlock name="customer-account-navigation-newsletter-subscriptions-link" remove="true"/>

        <!-- Billing agreement link -->
        <referenceBlock name="customer-account-navigation-billing-agreements-link" remove="true"/>

        <!-- Product review link -->
        <referenceBlock name="customer-account-navigation-product-reviews-link" remove="true"/>

        <!-- My credit card link -->
        <referenceBlock name="customer-account-navigation-my-credit-cards-link" remove="true"/>

        <!-- Account link -->
        <referenceBlock name="customer-account-navigation-account-link" remove="true"/>

        <!-- Account edit link -->
        <referenceBlock name="customer-account-navigation-account-edit-link" remove="true"/>

        <!-- Address link -->
        <referenceBlock name="customer-account-navigation-address-link" remove="true"/>

        <!-- Orders link -->
        <referenceBlock name="customer-account-navigation-orders-link" remove="true"/>

        <!-- Wish list link -->
        <referenceBlock name="customer-account-navigation-wish-list-link" remove="true"/>

        <!-- Gift card link -->
        <referenceBlock name="customer-account-navigation-gift-card-link" remove="true"/>

        <!-- Order by SKU -->
        <referenceBlock name="customer-account-navigation-checkout-sku-link" remove="true"/>

        <!-- Gift registry -->
        <referenceBlock name="customer-account-navigation-giftregistry-link" remove="true"/>

        <!-- Reward points -->
        <referenceBlock name="customer-account-navigation-reward-link" remove="true"/>
  • How did you know the full list? I'm looking for some links which not in default of magento, please tell me how do you find this list, thanks :) – fudu Oct 6 '18 at 2:46
  • Ah nevermind, i've founded it in this link magento.stackexchange.com/questions/186056/… – fudu Oct 6 '18 at 3:12
  • Also useful: customer-account-navigation-delimiter-1 and customer-account-navigation-delimiter-2 are the names of the empty/decorative sections - aka delimiters. – jamil Dec 7 '18 at 21:54
  • won't it work if I create a structure as app/code/<Vendor>/<Module>/view/frontend/layout/customer_account.xml. I have a separate theme folder though. – Butterfly Apr 26 '19 at 10:58
  • how do i get billing agreement to show? – jibin george Apr 6 '20 at 12:58

In my mage installation (2.2.2 commerce edition) there is another link:

<!-- Invitations -->
<referenceBlock name="customer-account-navigation-magento-invitation-link-container" remove="true"/>
  • how do i get billing agreement to show? – jibin george Apr 6 '20 at 12:58

I added the following css to hide the Billing Agreements tab on my customer account pages. There are better ways to do this as mentioned, but this is quick and easy!

nav.account-nav li.nav.item a[href*="billing_agreement"] {display:none;}

You could do the same the Wishlist or any other link that you want to remove. Just target the element using a selector, as explained here: https://www.w3schools.com/cssref/css_selectors.asp


At first I hide links in customer account MENU using CSS as #Cristina mentioned because I thought that the solution with xml will be too laborious.

But it is not complicated at all. You just need to choose links, which you would like to remove.

What is important: by looking at the source of the page's code - there are no links to as opposed to the CSS solution (display: none;)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.