想要使用 BuddyPress 和 WordPress 建立一个约会网站?除非该网站的概念是向所有性别开放,否则您必须自定义 BuddyPress,以便男性只能看到女性,反之亦然。
BuddyPress 默认不允许在搜索中按性别过滤人员,因此无法 防止同性别的人见面 在会员页面互相交流。
此外,目前还没有 WordPress 插件允许这样做。庆幸的是,背后的人 优秀的 BP Profile Search 插件,它允许您的社交网络的用户搜索成员,共享了一段非常有用的代码。后者不会显示 会员页面中仅限异性,并且会阻止同性互相看到.
要使用它,您需要创建一个名为“bp-custom.php”的文件,并将其上传到 WordPress 安装的 /wp-content/plugins/ 文件夹中。
在此 bp-custom.php 文件中,以下是必须放在 2 个 php 标记之间的代码(不要忘记它们!):
[编码]
add_filter('bp_ajax_querystring', 'modify_members_loop', 20, 2);
函数modify_members_loop($qs = false,$object = false){
if (is_user_logged_in() && !current_user_can('activate_plugins') ){
全局 $wpdb;
if ($object != 'members') return $qs;
// 判断登录用户是男性还是女性
$gender = xprofile_get_field_data(2, bp_loggedin_user_id());
if ($gender == '男')
$query = "从 {$wpdb->prefix}bp_xprofile_data 中选择 user_id,其中 field_id = 2 AND value = '女性'";
别的
$query = "从 {$wpdb->prefix}bp_xprofile_data 中选择 user_id,其中 field_id = 2 AND 值 = '男性'";
$custom_ids = $wpdb->get_col ($query);
$args = wp_parse_args($qs);
$args['include'] = implode(',', $custom_ids);
$qs = build_query($args);
返回 $qs;
}
}
[/编码]
小心,在这段代码中, 您需要将所有“2”替换为“流派”字段对应的 ID 您的 BuddyPress 配置。要查找 ID,请转到“个人资料字段”列表,然后查看“性别”字段的 URL(如果是您要锁定的“性别”字段)。
将“男性”和“女性”替换为您正在使用的确切值 在“流派”字段中。
最后,您可以通过以会员身份登录来观察结果,因为在这段代码中,我们故意排除了管理员,以便 作为管理员,您可以看到组成您的社交网络或约会网站的所有成员! 实用,不是吗?
上传此代码后,您将看到 只有异性成员才会显示在成员循环中。但是,此代码不会过滤显示成员的其他循环(显示最后一个成员的小部件等)。
2 响应
早上好,
这是一个非常实用的功能。
另一方面,这会与“buddypress follower”插件产生冲突。
该插件允许成员将自己添加为收藏夹,当您使用代码时,它会将所有成员显示为收藏夹。
您认为这个问题可以解决吗?
我提前谢谢你。
我安装不了,请问你是怎么安装的?