So erweiterst du die Navigation im Kundenkonto von WooCommerce.

Marc Wag­ner

April 21, 2021

1 min read|

Du kannst die Navi­ga­ti­on für das Kun­den­kon­to in Woo­Com­mer­ce spie­lend leicht erwei­tern, ganz ohne Plug­in.

Dafür grei­fen wir auf die Fil­ter woocommerce_account_menu_items und woocommerce_get_endpoint_url zurück.

Zunächst fügen wir über den Fil­ter woocommerce_account_menu_items einen neu­en End­punkt ein. Hier wird der ange­zeig­te Name (Cus­tom Menu) des Links fest­ge­legt und ein indi­vi­du­el­ler End­punkt (cus­­tom-end­­point) defi­niert.

/**
 * add navigation items to woocommerce
 */
function addNavigationItemsToWooCommerce($items) {
   $items['custom-endpoint'] = __('Custom Menu');
   return $items;
}
add_filter('woocommerce_account_menu_items', 'addNavigationItemsToWooCommerce', 10, 1);

Anschlie­ßend müs­sen wir für den End­punkt natür­lich noch einen Link defi­nie­ren. Dafür ver­wen­den wir den Fil­ter woocommerce_get_endpoint_url.

/**
 * add custom endpoint url
 */
function addNavigationItemsCustomEndpoint($url, $endpoint, $value, $permalink){
    if('custom-endpoint' == $endpoint){ 
       // set the url for our custom endpoint
       $url = get_permalink(1); 
    } 
   return $url;
}
add_filter('woocommerce_get_endpoint_url', 'addNavigationItemsCustomEndpoint', 10, 4);

Damit haben wir auch schon einen Link für unse­ren End­punkt hin­ter­legt. Idea­ler­wei­se hin­ter­legst du die neu­en End­punk­te im Backend von Word­Press und ziehst die gewähl­ten Post-IDs von dort. Dadurch kannst du die Links jeder­zeit anpas­sen ohne den PHP Code zu edi­tie­ren.

Hat dir der Arti­kel gefal­len? Dann hin­ter­las­se uns doch einen kur­zen Kom­men­tar. Für Fra­gen kannst du in unse­rem Sup­port Forum vor­bei­schau­en.

88e86fcb816eff22bc917094df2862d8dd5c0e978b333e6dd5f36f808990c261 96

Arti­kel von:

Marc Wag­ner

Hi Marc here. I’m the foun­der of Forge12 Inter­ac­ti­ve and have been pas­sio­na­te about buil­ding web­sites, online stores, appli­ca­ti­ons and SaaS solu­ti­ons for busi­nesses for over 20 years. Befo­re foun­ding the com­pa­ny, I alre­a­dy work­ed in publicly lis­ted com­pa­nies and acqui­red all kinds of know­ledge. Now I want to pass this know­ledge on to my cus­to­mers.

Hast du eine Fra­ge? Hin­ter­lass bit­te einen Kom­men­tar