更改BuddyPress群组的默认登录页面最简单的方法是什么?

时间:2012-03-08 作者:ZaMoose

我希望组的默认视图是论坛组件,而不是活动组件。更改默认登录组件/页面的最佳/最简单方法是什么?

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

[编辑-我的原始答案仅适用于即将发布的BP 1.6]

Versions of BuddyPress from 1.6 onwards

function bbg_change_group_default_extension( $default ) {
    return \'forum\';
}
add_filter( \'bp_groups_default_extension\', \'bbg_change_group_default_extension\' );

Versions of BuddyPress prior to 1.6

目前,您必须使用以下内容,这是bp\\u core\\u new\\u nav\\u default()的一个修改版本(在组的情况下,由于与slug相关的各种内容,该函数会被破坏):

function bbg_set_new_group_default_subnav() {
    global $bp;

    if ( bp_is_group() ) {
        // Set up your new default
        $new_screen_function = \'groups_screen_group_forum\';
        $new_default_slug = \'forum\';

        $parent_slug = bp_get_current_group_slug();

        if ( $function = $bp->bp_nav[$parent_slug][\'screen_function\'] ) {
            if ( !is_object( $function[0] ) )
                remove_action( \'bp_screens\', $function, 3 );
                    else
                remove_action( \'bp_screens\', array( &$function[0], $function[1] ), 3 );
        }

        $bp->bp_nav[$parent_slug][\'screen_function\'] = &$new_screen_function;

        if ( bp_is_groups_component() && !bp_current_action() ) {
            if ( !is_object( $new_screen_function[0] ) ) {
                add_action( \'bp_screens\', $new_screen_function );

            } else {
                add_action( \'bp_screens\', array( &$new_screen_function[0], $new_screen_function[1] ) );
            }

            $bp->current_action = $new_default_slug;
       }
    }
}
add_action( \'bp_setup_nav\', \'bbg_set_new_group_default_subnav\', 999 );

function bbg_set_new_group_default_action() {
    global $bp;

    if ( bp_is_group() && !bp_current_action() ) {
        $bp->current_action = \'forum\';
    }
}
add_action( \'bp_setup_globals\', \'bbg_set_new_group_default_action\', 999 );

结束

相关推荐

BuddyPress导出配置文件字段

我正在寻找一些关于构建sql以从DB导出特定数据的帮助。在BuddyPress中,我设置了一个名为“时事通讯”的配置文件字段。我需要从db中导出勾选“是”的用户列表(订阅新闻稿)。我已经确定了数据库中使用的表/字段。SELECT `user_id` FROM `wp_bp_xprofile_data` WHERE `field_id` = 8 AND `value` LIKE \'yes\' 其中user\\u id是注册用户id,其中field\\u id 8是我的新闻稿值。现在我需要在use