【发布时间】:2015-02-21 02:33:53
【问题描述】:
我正在使用 wordpress wp-admin 创建菜单。它在外观/菜单下。
我有一个指向 /members/ 的链接,但我真正需要的是指向 /members/$logged_user 的链接...
例如 /members/user_1 或 /members/user_2。
我该怎么做? 我不知道它是否重要,但我正在使用 buddypress 插件。
【问题讨论】:
我正在使用 wordpress wp-admin 创建菜单。它在外观/菜单下。
我有一个指向 /members/ 的链接,但我真正需要的是指向 /members/$logged_user 的链接...
例如 /members/user_1 或 /members/user_2。
我该怎么做? 我不知道它是否重要,但我正在使用 buddypress 插件。
【问题讨论】:
我编写了一个简短的脚本,用于在 wordpress 菜单中添加动态 buddypress 链接。希望对你有帮助
我在 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;
}
【讨论】:
[/])已被删除,但很高兴看到支持基于您的方法的替代实现。你应该认真考虑把它做成一个插件。例如WordPress 菜单 URL 简码
默认菜单实际上没有该选项。但是您可以制作自己的 walker 函数,搜索关键字并将其替换为当前用户。
见http://codex.wordpress.org/Function_Reference/wp_nav_menu#Using_a_Custom_Walker_Function
但是将链接放在带有一些静态 html 和所需 php 的菜单调用之外可能会更快,更易于管理。
【讨论】:
您可以使用BuddyPress Custom Profile Menu 插件来接近此功能,否则您将不得不编写使用wp_nav_menu() 的操作/过滤器的自定义代码。
【讨论】: