我正在尝试创建一个链接到动态网址的动态按键标签,该动态网址如下所示localhost/wordpress/slug/username
此选项卡应该出现在访问其他用户个人资料的任何用户身上,点击后应该重定向到访问过的用户,而不是用户访问,我的意思是我的网址末尾的用户名应该替换为用户名访问当前的个人资料
我正在使用wp_redirect函数将用户重定向到此网址,但问题是我不知道如何编写此网址?
我尝试创建一个像$user = wp_get_current_user();
这样的变量来包含它wp_redirect( "http://localhost/wordpress/slug/$user->display_name" );
,但最终的结果是http://localhost/wordpress2/slug/
我甚至不确定我应该将此函数称为当前用户请有人帮助我
请记住,我正在我的主题文件夹
中的function.php文件中编写代码这就是我添加的代码
$user = wp_get_current_user();
add_action( 'bp_setup_nav', 'create_tab3', 303 );
function create_tab3() {
global $bp;
bp_core_new_nav_item(
array(
'name' => 'my name',
'slug' => 'slug',
'position' => 21,
'default_subnav_slug' => 'mySlug', // We add this submenu item below
'screen_function' => 'redirect_user_to_tab3',
)
);
}
function redirect_user_to_tab3(){
global $bp;
wp_redirect( "http://localhost/wordpress2/slug/$user->display_name" );
exit;
}
由于
答案 0 :(得分:0)
您的redirect_user_to_tab3
函数在其范围内没有$user
变量,因此$user->display_name
未定义。
您需要在功能中设置$user = wp_get_current_user();
。
之后,read the docs on variable scope因为它们在PHP中非常重要。
答案 1 :(得分:0)
function redirect_user_to_tab3(){
$url = site_url() . '/slug/' . bp_get_displayed_user_username();
bp_core_redirect( $url );
}
它工作得很好,,,,感谢所有帮助我的人