创建动态的zeypress标签

时间:2015-11-10 16:45:36

标签: php wordpress url dynamic buddypress

我正在尝试创建一个链接到动态网址的动态按键标签,该动态网址如下所示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;
}

由于

2 个答案:

答案 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 );
}

它工作得很好,,,,感谢所有帮助我的人