You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BuddyBoss中如何为自定义membersloop创建专属固定链接?

实现BuddyBoss自定义收藏用户列表的固定链接

步骤1:添加自定义重写规则与路由识别

首先需要让WordPress识别/members/favorited这个固定链接,将以下代码添加到主题functions.php或自定义插件中:

function register_favorited_members_rewrite_rule() {
    // 注册重写规则,将members/favorited指向成员页面并传递自定义标识参数
    add_rewrite_rule(
        '^members/favorited/?$',
        'index.php?bp_component=members&action=favorited',
        'top'
    );
}
add_action('init', 'register_favorited_members_rewrite_rule');

// 让WordPress识别自定义的action查询参数
function add_favorited_query_var($vars) {
    $vars[] = 'action';
    return $vars;
}
add_filter('query_vars', 'add_favorited_query_var');

步骤2:修改现有过滤器,仅在自定义链接下生效

调整你已有的成员循环过滤函数,让它只在访问/members/favorited时才触发,避免影响其他成员页面:

function membersloop_show_favorites( $querystring = false, $object = false ) {
    // 仅针对成员循环,且当前是收藏用户页面时生效
    if ($object != 'members') {
        return $querystring;
    }

    // 判断当前是否为收藏用户页面
    $current_action = get_query_var('action');
    if ($current_action !== 'favorited') {
        return $querystring;
    }

    // 测试收藏用户ID,后续可从数据库读取实际数据
    $ids = array(89, 113); 

    $ids = implode( ',', $ids );
    $args = wp_parse_args($querystring);

    if ( ! empty($args['include']) ) {
        $args['include'] = $args['include'] . ',' . $ids;
    } else {
        $args['include'] = $ids;
    }

    $querystring = build_query( $args );
    return $querystring;
}
add_action( 'bp_ajax_querystring', 'membersloop_show_favorites', 20, 2 );

步骤3:自定义模板(可选)

如果需要为收藏用户页面定制布局,可在主题的buddypress/members目录下创建members-favorited.php,复制默认members-loop.php的内容并修改。然后通过以下代码指定该模板:

function favorited_members_template($template) {
    if (get_query_var('action') === 'favorited' && bp_is_members_component()) {
        $custom_template = get_stylesheet_directory() . '/buddypress/members/members-favorited.php';
        if (file_exists($custom_template)) {
            return $custom_template;
        }
    }
    return $template;
}
add_filter('bp_template_include', 'favorited_members_template');

步骤4:刷新固定链接

进入WordPress后台设置→固定链接页面,直接点击「保存更改」,让WordPress刷新重写规则,确保新的固定链接生效。


内容的提问来源于stack exchange,提问作者tim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 02:25:14