Benutzer-Werkzeuge

Webseiten-Werkzeuge

A PCRE internal error occured. This might be caused by a faulty plugin

ideas:hook-fuer-alternative-navigation

====== Hook für alternative Navigation ====== <del>Vorschlag für neuen hook um die Navigation für verschiedene custom menus nutzbar zu machen.</del>\\ Dieser Hook ist seit version 1.5.5 im core eingebaut. Danke! Im Beispiel habe ich den neuen Hooknamen ''xtreme_set_menu_name'' entsprechend angepasst. Damit kann man bequem die Ausgabe für alternative Menüs einfach uber die functions.php steuern. Man muss nur den slug des gewünschten custom menus übergeben und kann über conditionals in der eigenen functions.php die Navigation manipulieren. in ChildTheme/functions.php <code phpwp> function tc_conditional_based_menu($val, $nav) { /* * use conditional tags to organize alternative custom wp_nav_menus. * $val = default value from xtreme-one settings -> Navigation -> primary or secondary -> content * $nav = primary or secondary * * @return string $val Your alternative Menu slug */ switch ($nav) { case 'primary': if ( is_user_logged_in() ) { // slug of primary nav for Logged in Users. Create a new Menu in WP -> Design -> Menus $val = 'primary-member'; } else { $val = $val; } break; case 'secondary': /* if ( is_user_logged_in() ) { $val = 'secondary-admin'; } else { $val = $val; } */ break; } return $val; } add_filter( 'xtreme_set_menu_name', 'tc_conditional_based_menu', 10, 2); </code> Hier im Beispiel ist es jetzt ein custom_menu mit dem slug primary-member, welches jetzt für alle angemeldeten User anstelle des im Theme eingestellten Menüs angezeigt wird.\\ Die Möglichkeit so die Navigation für verschiedene Zustände über die conditionals abzudecken, sprengen dieses Demo. Vorstellbar für einzelne Seiten, Kategorien, logged_in, ... Die folgenden Änderungen im core sind nicht mehr vorzunehmen, der Filter ist seit xtreme-one ''version 1.5.5'' integriert. In ''xtreme-one/lib/xtreme-navigation.php'' in der ''function xtreme_navigation_content'' ca. in Zeile 208 statt <code phpwp> } else { $menu_name = esc_attr($val); $val = 'wp_nav_menu'; </code> hier einen neuen Filter einbauen <code phpwp> } else { /* T.C. */ $menu_name = apply_filters( 'xtreme_set_menu_name', esc_attr($val), $nav ); // $menu_name = esc_attr($val); $val = 'wp_nav_menu'; </code>

ideas/hook-fuer-alternative-navigation · Zuletzt geändert: 2019/04/25 14:03 (Externe Bearbeitung)
© 2013 <xfco.de> Impressum | Datenschutz

Seiten-Werkzeuge