WordPress导航中的动态URL

时间:2012-05-17 22:32:25

标签: php wordpress

所以我目前在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();的信息,但我似乎无法找到将其包含在函数中的方法。

2 个答案:

答案 0 :(得分:0)

  1. 您可以使用add_filter指定过滤器优先级,尝试使用值10,直到您的导航项位于正确的位置。

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

  3. 代码

    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 /

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