bp_setup_nav_menu_item (WP_Post美元的段)
将buddypress特定项添加到wp_nav_menu中。
描述
参数
- 美元的段
-
(WP_Post)(必需)菜单项。
返回
(WP_Post)修改后的WP_Post对象。
源
文件:bp-core / bp-core-filters.php
函数bp_setup_nav_menu_item($menu_item) {if (is_admin()) {return $menu_item;} //在使用自定义器时防止一个通知错误。menu_classes =段美元- >类;If (is_array($menu_classes)) {$menu_classes = implode(' ', $menu_item->classes);} //我们使用存储在CSS类中的信息来确定这是什么类型的菜单项,以及应该如何处理它。preg_match (' / \ sbp -(. *)导航/ ',menu_classes美元,$ matches);//如果这不是一个BP菜单项,我们可以在这里停止。If (empty($matches[1])) {return $menu_item;} switch ($matches[1]) {case 'login': if (is_user_logged_in()) {$menu_item->_invalid = true;} else {$menu_item->url = wp_login_url(bp_get_requested_url()); } break; case 'logout' : if ( ! is_user_logged_in() ) { $menu_item->_invalid = true; } else { $menu_item->url = wp_logout_url( bp_get_requested_url() ); } break; // Don't show the Register link to logged-in users. case 'register' : if ( is_user_logged_in() ) { $menu_item->_invalid = true; } break; // All other BP nav items are specific to the logged-in user, // and so are not relevant to logged-out users. default: if ( is_user_logged_in() ) { $menu_item->url = bp_nav_menu_get_item_url( $matches[1] ); } else { $menu_item->_invalid = true; } break; } // If component is deactivated, make sure menu item doesn't render. if ( empty( $menu_item->url ) ) { $menu_item->_invalid = true; // Highlight the current page. } else { $current = bp_get_requested_url(); if ( strpos( $current, $menu_item->url ) !== false ) { if ( is_array( $menu_item->classes ) ) { $menu_item->classes[] = 'current_page_item'; $menu_item->classes[] = 'current-menu-item'; } else { $menu_item->classes = array( 'current_page_item', 'current-menu-item' ); } } } return $menu_item; }
更新日志
版本 | 描述 |
---|---|
BuddyPress 1.9.0 | 介绍了。 |