创建动态BudduPress选项卡

时间:2015-11-10 作者:dantosso

我正在尝试创建一个动态buddypress选项卡,链接到一个动态url,如下所示localhost/wordpress/slug/username

任何访问另一个用户配置文件的用户都应该显示此选项卡,单击此选项卡时,应重定向到访问的用户,而不是访问的用户,我的意思是,我的URL末尾的用户名应替换为访问的当前配置文件的用户名

我正在使用wp\\u redirect函数将用户重定向到此url,但问题是我不知道如何编写此url?

我试着创建一个这样的变量$user = wp_get_current_user(); 包括在内wp_redirect( "http://localhost/wordpress/slug/$user->display_name" ); 但最终的结果是http://localhost/wordpress2/slug/ 我甚至不确定是否应该将此函数调用为当前用户,请有人帮助我

请记住,我正在函数中编写代码。我的主题文件夹中的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;
}
谢谢

1 个回复
最合适的回答,由SO网友:shanebp 整理而成

不能使用对象变量,$user->display_name, 在字符串中。

为什么您需要一个链接回正在查看的成员的选项卡?您已经在查看该成员。

这将提供显示成员的url:bp_displayed_user_domain()

所以你可以这样做:

function redirect_user_to_tab3(){
    bp_core_redirect( bp_displayed_user_domain() );
}
如果只需要当前显示用户的用户名,以便构建url,可以执行以下操作:

function redirect_user_to_tab3(){
    $url = site_url() . \'/slug/\' . bp_get_displayed_user_username();
    bp_core_redirect( $url );
}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请