创建动态 buddypress 选项卡
Create a dynamic buddypress tab
我正在尝试创建一个链接到动态 url 的动态 buddypress 选项卡,看起来像这样 localhost/wordpress/slug/username
此选项卡应该显示给访问另一个用户个人资料的任何用户,并且在单击时应该重定向到访问的用户而不是访问的用户,我的意思是我 URL 末尾的用户名应该替换为当前访问的配置文件的用户名
我正在使用 wp_redirect 函数将用户重定向到这个 url 但问题是我不知道如何写这个 url ?
我试过创建一个像这样 $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;
}
谢谢
您的 redirect_user_to_tab3
函数在其范围内没有 $user
变量,因此 $user->display_name
未定义。
您需要在函数中设置 $user = wp_get_current_user();
。
之后,read the docs on variable scope 因为它们在 PHP 中非常重要。
有人回答了我的问题并告诉我像这样更改代码中的最后一个函数
function redirect_user_to_tab3(){
$url = site_url() . '/slug/' . bp_get_displayed_user_username();
bp_core_redirect( $url );
}
效果很好,感谢所有帮助过我的人
我正在尝试创建一个链接到动态 url 的动态 buddypress 选项卡,看起来像这样 localhost/wordpress/slug/username
此选项卡应该显示给访问另一个用户个人资料的任何用户,并且在单击时应该重定向到访问的用户而不是访问的用户,我的意思是我 URL 末尾的用户名应该替换为当前访问的配置文件的用户名
我正在使用 wp_redirect 函数将用户重定向到这个 url 但问题是我不知道如何写这个 url ?
我试过创建一个像这样 $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;
}
谢谢
您的 redirect_user_to_tab3
函数在其范围内没有 $user
变量,因此 $user->display_name
未定义。
您需要在函数中设置 $user = wp_get_current_user();
。
之后,read the docs on variable scope 因为它们在 PHP 中非常重要。
有人回答了我的问题并告诉我像这样更改代码中的最后一个函数
function redirect_user_to_tab3(){
$url = site_url() . '/slug/' . bp_get_displayed_user_username();
bp_core_redirect( $url );
}
效果很好,感谢所有帮助过我的人