所以我目前在Wordpress上有一些导航链接:
链接1 |链接2 |链接3等。
两件事,首先我想在链接2和链接3之间添加链接。我正在使用此代码,但它将链接添加到无序列表的末尾。有没有办法指定它的位置?
add_filter( 'wp_nav_menu_items', 'your_custom_menu_item', 10, 2 );
function your_custom_menu_item ( $items, $args ) {
$items .= '<li><a href=#">Test Link</a></li>';
return $items;
}
其次,我希望这个新链接有一个包含用户ID的动态URL。我尝试使用wordpress查找有关get_currentuserinfo();
的信息,但我似乎无法找到将其包含在函数中的方法。
答案 0 :(得分:0)
您可以使用add_filter指定过滤器优先级,尝试使用值10
,直到您的导航项位于正确的位置。
您需要在调用函数之前设置全局变量$current_user
。
global $current_user;
get_currentuserinfo();
echo 'Username: ' . $current_user->user_login . "\n";
答案 1 :(得分:0)
我在我的functions.php页面中添加了一个过滤器到wp_nav_menu:
function wp_username_in_nav( $menu ){
global $current_user;
return $menu = str_replace('--username--', $current_user->user_login, $menu );
}
add_filter( 'wp_nav_menu', 'wp_username_in_nav' );
然后在我的菜单中,我添加了一个链接菜单项,其中包含以下URL:/ rootfolder / members / - username - / profile / edit /
这使我能够动态地为菜单项添加用户名。