You need to rewrite Magento's Customer Mage_Customer_Block_Account_Navigation Block class.
create config.xml file in the app/code/local/Neo/CustomerNavigationLinks/etc
<?xml version="1.0"?>
<config>
<modules>
<Neo_CustomerNavigationLinks>
<version>0.0.1</version>
</Neo_CustomerNavigationLinks>
</modules>
<global>
<blocks>
<customer>
<rewrite>
<account_navigation>Neo_CustomerNavigationLinks_Block_Account_Navigation</account_navigation>
</rewrite>
</customer>
</blocks>
<helpers>
<customernavigationlinks>
<class>Neo_CustomerNavigationLinks_Helper</class>
</customernavigationlinks>
</helpers>
</global>
</config>
in Neo/CustomerNavigationLinks/Block/Account/ careate a file called Navigation.php with the following content in it
<?php
class Neo_CustomerNavigationLinks_Block_Account_Navigation extends Mage_Customer_Block_Account_Navigation
{
public function removeLinkByName($name)
{
unset($this->_links[$name]);
return $this;
}
}
?>
in app/etc/modules create a file called Neo_CustomerNavigationLinks.xml with the following content
<?xml version="1.0"?>
<config>
<modules>
<Neo_CustomerNavigationLinks>
<active>true</active>
<codePool>local</codePool>
</Neo_CustomerNavigationLinks>
</modules>
</config>
Now in local.xml add following content
<customer_account>
<reference name="customer_account_navigation">
<action method="removeLinkByName">
<name>newsletter</name>
</action>
</reference>
</customer_account>
We can rearrange these links by using "move". Reference to Magento document for more detail.
Assume that you are working on customer_account.xml on your theme. In my case:
File path:
app/design/frontend/Lhc/diamond/Magento_Customer/layout/customer_account.xml
Code:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd" label="Customer My Account (All Pages)" design_abstraction="custom">
<body>
<move element="customer-account-navigation-orders-link" destination="customer_account_navigation" before="customer-account-navigation-account-edit-link"/>
</body>
</page>
The same with remain links you would like to sort. "customer-account-navigation-orders-link" is the block name in layout, using "before" and "after" element.
Best Answer
Add new layout handle to one of places:
VendorName/ModuleName/view/frontend/layout/customer_account.xml
app/design/frontend/VendorName/themeName/Magento_Wishlist/layout/customer_account.xml
(and similar layout for billing agreement module)Layout handle content: