郁金香媒体

创业想法

片段 BuddyPress:如何在会员页面中仅显示异性

想要使用 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(如果是您要锁定的“性别”字段)。

将“男性”和“女性”替换为您正在使用的确切值 在“流派”字段中。

最后,您可以通过以会员身份登录来观察结果,因为在这段代码中,我们故意排除了管理员,以便 作为管理员,您可以看到组成您的社交网络或约会网站的所有成员! 实用,不是吗?

上传此代码后,您将看到 只有异性成员才会显示在成员循环中。但是,此代码不会过滤显示成员的其他循环(显示最后一个成员的小部件等)。

如果您喜欢我的教程,请随时告诉我 推特Facebook !

 

我最新的推文

Nouveau short sur Blooness 👉 Relancer la libido, en vrac -> Soleil, vitamine D, diète céto-méditerranéenne, protéines, livres, badinage, marche, HIIT, et pas de régime hypocalorique.
https://buff.ly/445PWvc

Nouveau short sur Blooness 👉 Améliorer son sommeil -> s’exposer à la lumière le matin, limiter les lunettes de soleil, mouiller la chemise au sport, boire du déca, manger maximum 3h avant de dormir, faire une marche digestive et prendre de la mélaton
https://buff.ly/440weAJ

装载更多

不要错过通过电子邮件发送的商业建议

没有垃圾邮件,只有新内容发布时的电子邮件.

2 回复

  1. 早上好,

    这是一个非常实用的功能。

    另一方面,这会与“buddypress follower”插件产生冲突。

    该插件允许成员将自己添加为收藏夹,当您使用代码时,它会将所有成员显示为收藏夹。

    您认为这个问题可以解决吗?

    我提前谢谢你。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

zh_CNZH