在wordpress菜单链接上使用URL中的变量

时间:2013-05-15 20:38:58

标签: php wordpress

我正在使用wordpress wp-admin来创建菜单。它位于外观/菜单下。

我有一个指向/ members /的链接,但我真正需要的是指向/ members / $ logged_user的链接...

例如/ members / user_1或/ members / user_2。

我该怎么做? 我不知道它是否重要,但我使用的是buddypress插件。

Creating the menu item

3 个答案:

答案 0 :(得分:5)

我写了一个简短的脚本,用于在wordpress菜单中添加动态的buddressress链接。希望它有所帮助

我在wordpress菜单中添加了自定义链接,用--username--替换链接中的用户名 例 http://website_name.com/members/--username--/messages/

然后在function.php中添加此代码

add_filter( 'nav_menu_link_attributes', 'menu_override', 10, 3 );

function menu_override( $atts, $item, $args ) {
    $user = wp_get_current_user();
    $newlink = str_replace("--username--", $user->user_login, $atts[href]);
    $atts[href] = $newlink;
    return $atts;
}

答案 1 :(得分:0)

默认菜单实际上没有该选项。但您可以创建自己的walker函数,搜索关键字并将其替换为当前用户。

请参阅http://codex.wordpress.org/Function_Reference/wp_nav_menu#Using_a_Custom_Walker_Function

但是,只需将链接置于菜单调用之外,使用一些静态html和所需的php,就可能更快,更易于管理。

答案 2 :(得分:0)

您可以使用BuddyPress Custom Profile Menu插件来接近此功能,否则您必须编写使用wp_nav_menu()的操作/过滤器的自定义代码。