如果你有wp_nav_menu
例如,对于菜单,可以添加过滤器,以便在将菜单打印到页面时动态添加菜单项。
所有导航菜单的过滤器为wp_nav_menu_items
.
对于特定菜单段塞,过滤器为wp_nav_menu_{$menu->slug}_items
. 例如,如果您的菜单slug是primary
, 过滤器应为wp_nav_menu_primary_items
根据您在评论中的描述,下面的示例可能会满足您的需要。
function wpd_nav_menu_items( $items ){
// if a user is logged in
if( is_user_logged_in() ){
// get the current user\'s data
global $current_user;
get_currentuserinfo();
// menu item\'s url and title
$url = home_url( \'/\' . $current_user->user_login . \'/\' );
$title = $current_user->user_firstname . \'\\\'s page\';
// add the menu item onto the end
$items .= \'<li><a href="\' . $url . \'">\' . $title . \'</a></li>\';
}
return $items;
}
add_filter( \'wp_nav_menu_items\', \'wpd_nav_menu_items\' );