roadmap studios

Mijn Account Labels Aanpassen in WooCommerce

Een verzoek die we vaak van onze klanten en op woocommerce shop eigenaren krijgen is ‘hoe pas ik de labels van de pagina Mijn-Account in WooCommerce aan?’.

Het antwoord is niet ver te zoeken, WooCommerce heeft namelijk overal “hooks & filters“. Dit zijn aansluitpunten voor je eigen maatwerk functies zonder de kern code aan te passen. Developers gebruiken dat altijd voor het ontwikkelen van maatwerk functionaliteit in WordPress en WooCommerce.

Even kort uitleggen wat een “hook” is en wat een “filter” is:

  • Hook: dit is aansluitpunt om functies te laten werken op een bepaald moment en bepaalde locatie (bijv prijs calculator laten zien bij een gordijnstof productpagina).
  • Filter: dit is een aansluitpunt om een variabele te manipuleren tot iets anders (bijv een product prijs).

Nu je een beetje snapt wat een hooks en filters zijn, gaan we kijken op hoe we dit kunnen toepassen op de Mijn Account pagina in woocommerce.

// Rename labels in My Account
add_filter ( 'woocommerce_account_menu_items', 'rms_woo_my_account_order' );
function rms_woo_my_account_order() {
$myorder = array(
'dashboard' => __( 'Mijn Profiel', 'woocommerce' ),
'edit-account' => __( 'Account Details', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
'edit-address' => __( 'Mijn Adres', 'woocommerce' ),
//'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
return $myorder;
}

Wat we hierboven gedaan hebben is een bestaande filter gebruiken van WooCommerce: woocommerce_account_menu_items.
Hiermee kunnen we de labels aanpassen van de Mijn Account ‘endpoints’. Zo hebben we Dashboard gewijzigd naar Mijn Profiel.
We kunnen ook bestaande endpoints verbergen door “//” ervoor te voegen.
Tevens kunnen we de volgorde aanpassen door bijvoorbeeld Orders naar het begin te verplaatsen:

// Rename labels in My Account
add_filter ( 'woocommerce_account_menu_items', 'rms_woo_my_account_order' );
function rms_woo_my_account_order() {
$myorder = array(
'orders' => __( 'Orders', 'woocommerce' ),
'dashboard' => __( 'Mijn Profiel', 'woocommerce' ),
'edit-account' => __( 'Account Details', 'woocommerce' ),
'edit-address' => __( 'Mijn Adres', 'woocommerce' ),
//'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
return $myorder;
}

Zo zijn er nog veel meer mogelijkheden met filters. Wil je meer voorbeelden zien? Laat het ons weten in de comments.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

You were not leaving your cart just like that, right?

You were not leaving your cart just like that, right?

Enter your details below to save your shopping cart for later. And, who knows, maybe we will even send you a sweet discount code :)