0

所以我目前有一些带有以下导航链接的 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。我已经尝试查找有关get_currentuserinfo();wordpress 的信息,但我似乎无法找到将其包含在函数中的方法。

4

2 回答 2

1

我在 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/

这使我能够动态地将用户名添加到菜单项。

于 2013-09-23T20:26:32.947 回答
0
  1. 您可以使用 add_filter 指定过滤器优先级,尝试使用该值10,直到您的导航项目位于正确的位置。

  2. 您需要$current_user在调用该函数之前设置一个全局变量。

代码

global $current_user;
get_currentuserinfo();

echo 'Username: ' . $current_user->user_login . "\n";
于 2012-05-17T22:38:02.180 回答