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 介绍了。

问题吗?

我们总是很乐意帮助您解决代码或其他问题!搜索我们的开发人员文档联络支持,或与我们联系销售团队