Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //register desired widget names
- $GLOBALS['MyWidgetss'] = array (
- 'Myy-area-1___LEFT','Slideshow-area-4', 'area-Custom4',
- );
- // registered menus
- $GLOBALS['REGISTERED_MENUS'] =array('main-top', 'main-nav','footer-nav' );
- $GLOBALS['REGISTERED_MENU_CLASSES_ul'] =array('main-top'=>'nav navbar-nav sf-menu clearfix' );
- $GLOBALS['REGISTERED_MENU_CLASSES_li'] =array();
- $GLOBALS['REGISTERED_MENU_CLASSES_li_CHILDED'] =array('main-top'=>'sub-menu sub-menu-1' );
- $GLOBALS['REGISTERED_MENU_CLASSES_a'] =array('main-top'=>'nav navbar-nav sf-menu clearfix' );
- //$GLOBALS['REGISTERED_MENUS_ADD_EXTRA_li'] ='<li class="emptyItem><a class=""></a></li>';
- // ========================================= MENUS ============================ //
- // https://developer.wordpress.org/reference/functions/wp_nav_menu/
- //add some custom-menus
- add_action('init', 'my_menu_registerss24');
- function my_menu_registerss24() {
- if (!empty($GLOBALS['REGISTERED_MENUS'])){
- foreach($GLOBALS['REGISTERED_MENUS'] as $name=>$value) {register_nav_menu($value,'my '.$value);}
- }
- //register_nav_menus(array( ));
- }
- // https://developer.wordpress.org/reference/functions/wp_nav_menu/
- // output is done in template, i.e. ----> wp_nav_menu( array( 'theme_location' => 'my-main-top', 'menu_id'=> 'primary-menu'));
- // ================ this is default output ============//
- // <ul>
- // <li><a>....</a></li>
- // </ul>
- // to modify the arguments, use the below "wp_nav_menu_args" function
- // ------------<ul> class
- add_filter( 'wp_nav_menu_args', 'modify_nav_menu_args' , 9);
- function modify_nav_menu_args( $args ) {
- if(!empty($GLOBALS['REGISTERED_MENU_CLASSES_li_CHILDED']) && !empty($GLOBALS['REGISTERED_MENU_CLASSES_ul']) ){
- foreach($GLOBALS['REGISTERED_MENU_CLASSES_ul'] as $name=>$value){
- if($args['theme_location'] == $name || $args['menu_id'] == $name) {
- $args['menu_class'] .= ' '.$value;
- }
- }
- }
- return $args;
- }
- // ------------<li> class
- add_filter('nav_menu_css_class', 'auto_custom_type_class', 9, 4 );
- function auto_custom_type_class($classes, $item, $args=false, $depth=false ) {
- //if ($args->menu == 'main-top'){$classes[] = "New_Class"; }
- if(!empty($GLOBALS['REGISTERED_MENU_CLASSES_li'])){
- foreach($GLOBALS['REGISTERED_MENU_CLASSES_li'] as $name=>$value){
- if($args !==false && ($args->theme_location == $name|| $args->menu_id == $name) ) {$classes[] = $value; }
- }
- }
- if(!empty($GLOBALS['REGISTERED_MENU_CLASSES_li_CHILDED'])){
- foreach($GLOBALS['REGISTERED_MENU_CLASSES_li_CHILDED'] as $name=>$value){
- if($args !==false && ($args->theme_location == $name|| $args->menu_id == $name) && in_array('menu-item-has-children',$classes)) { $classes[] = $value; }
- }
- }
- return $classes;
- }
- // ------------<a> class
- add_filter( 'nav_menu_link_attributes', 'add_menu_atts', 8, 3 );
- function add_menu_atts( $atts, $item, $args=false ) {
- if(!empty($GLOBALS['REGISTERED_MENU_CLASSES_a'])){
- foreach($GLOBALS['REGISTERED_MENU_CLASSES_a'] as $name=>$value){
- if($args !==false && $args->theme_location == $name) { $classes[] = $value; }
- }
- }
- $atts['class'] = (isset($atts['class'])? $atts['class']:''). ' '.$item->type.'-'.$item->ID;
- return $atts;
- }
- //add LI item to menu
- add_filter( 'wp_nav_menu_items', 'my_nav_menu_profile_link', 9 );
- function my_nav_menu_profile_link($menu) {
- return $menu . (!empty($GLOBALS['REGISTERED_MENUS_ADD_EXTRA_li']) ? $GLOBALS['REGISTERED_MENUS_ADD_EXTRA_li'] : '') ;
- }
- // ==================================== END MENUS =========================//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement