{"id":1512,"date":"2018-08-05T21:03:09","date_gmt":"2018-08-05T19:03:09","guid":{"rendered":"https:\/\/tulipemedia.com\/?p=1512"},"modified":"2025-05-15T17:59:43","modified_gmt":"2025-05-15T15:59:43","slug":"buddypress-meme-opposite-sex-filter-plugin","status":"publish","type":"post","link":"https:\/\/tulipemedia.com\/en\/buddypress-meme-sexe-oppose-filtrer-plugin\/","title":{"rendered":"Snippet BuddyPress: How to only show people of the opposite gender in the members page"},"content":{"rendered":"<p>Vous cherchez \u00e0 b\u00e2tir un site de rencontres avec BuddyPress et WordPress ? A moins que ce ne soit un site o\u00f9 le concept repose sur une ouverture \u00e0 tous les genres, vous allez forc\u00e9ment avoir besoin de personnaliser BuddyPress afin que les hommes ne puissent voir que les femmes, et vice-versa.<\/p>\n<p>BuddyPress ne permet pas de filtrer par d\u00e9faut les personnes par genre dans la recherche, et ne peut donc pas <strong>emp\u00eacher les personnes du m\u00eame genre de se voir<\/strong> les uns les autres dans la page des membres.<\/p>\n<p>De plus, il n&rsquo;existe \u00e0 ce jour pas d&rsquo;extension WordPress qui permette cela. Fort heureusement, la personne \u00e0 l&rsquo;origine de <a href=\"https:\/\/fr.wordpress.org\/plugins\/bp-profile-search\/\" target=\"_blank\" rel=\"noopener\">l&rsquo;excellent plugin BP Profile Search<\/a>, qui permet aux utilisateurs de votre r\u00e9seau social de faire des recherches de membres, a communiqu\u00e9 un bout de code tr\u00e8s utile. Ce dernier n&rsquo;affichera <strong>que les personnes du sexe oppos\u00e9 dans la page des membres, et emp\u00eachera les personnes du m\u00eame sexe de se voir<\/strong>.<\/p>\n<p>Pour l&rsquo;utiliser, il vous faudra cr\u00e9er un fichier intitul\u00e9 \u00ab\u00a0bp-custom.php\u00a0\u00bb, que vous uploaderez dans le dossier \/wp-content\/plugins\/ de votre installation WordPress.<\/p>\n<p>Dans ce fichier bp-custom.php, voici le code qu&rsquo;il faut mettre entre les 2 balises php (ne les oubliez pas !) :<\/p>\n<p>[code]<\/p>\n<p>add_filter (&lsquo;bp_ajax_querystring&rsquo;, &lsquo;modify_members_loop&rsquo;, 20, 2);<br \/>\nfunction modify_members_loop ($qs=false, $object=false) {<\/p>\n<p>if (is_user_logged_in() &amp;&amp; !current_user_can(&lsquo;activate_plugins&rsquo;) ){<\/p>\n<p>global $wpdb;<br \/>\nif ($object != &lsquo;members&rsquo;) return $qs;<\/p>\n<p>\/\/ figure out if the logged-in user is male or female<br \/>\n$gender = xprofile_get_field_data (2, bp_loggedin_user_id ());<\/p>\n<p>if ($gender == &lsquo;Male&rsquo;)<br \/>\n$query = \u00ab\u00a0SELECT user_id FROM {$wpdb-&gt;prefix}bp_xprofile_data WHERE field_id = 2 AND value = &lsquo;Female'\u00a0\u00bb;<br \/>\nelse<br \/>\n$query = \u00ab\u00a0SELECT user_id FROM {$wpdb-&gt;prefix}bp_xprofile_data WHERE field_id = 2 AND value = &lsquo;Male'\u00a0\u00bb;<\/p>\n<p>$custom_ids = $wpdb-&gt;get_col ($query);<\/p>\n<p>$args = wp_parse_args ($qs);<br \/>\n$args[&lsquo;include&rsquo;] = implode (&lsquo;,&rsquo;, $custom_ids);<br \/>\n$qs = build_query ($args);<\/p>\n<p>return $qs;<br \/>\n}<br \/>\n}<\/p>\n<p>[\/code]<\/p>\n<p>Attention, dans ce code, <strong>il vous faudra remplacer tous les \u00ab\u00a02\u00a0\u00bb par l&rsquo;ID correspondant au champ \u00ab\u00a0genre\u00a0\u00bb<\/strong> de votre configuration BuddyPress. Pour trouver l&rsquo;ID, rendez-vous dans la liste des \u00ab\u00a0profile fields\u00a0\u00bb, et regardez l&rsquo;URL du champ \u00ab\u00a0Gender\u00a0\u00bb, si c&rsquo;est le champ \u00ab\u00a0Gender\u00a0\u00bb que vous souhaitez verrouiller.<\/p>\n<p><strong>Remplacez \u00ab\u00a0Male\u00a0\u00bb et \u00ab\u00a0Female\u00a0\u00bb par les valeurs exactes que vous utilisez<\/strong> dans le champ \u00ab\u00a0Genre\u00a0\u00bb.<\/p>\n<p>Enfin, vous pourrez observer le r\u00e9sultat en vous logguant en tant que membre, car dans ce code, nous avons volontairement exclu l&rsquo;admin afin <strong>qu&rsquo;en tant qu&rsquo;admin, vous puissiez voir tous les membres qui composent votre r\u00e9seau social ou votre site de rencontres !<\/strong> Pratique, n&rsquo;est-ce pas ?<\/p>\n<p>Une fois ce code mis en ligne, vous constaterez que <strong>seul(e)s les membres du sexe oppos\u00e9 s&rsquo;afficheront dans la boucle des membres<\/strong>. Toutefois, ce code ne filtre pas les autres boucles affichant des membres (les widgets affichant les derniers membres, etc&#8230;).<\/p>\n<p>Si vous avez appr\u00e9ci\u00e9 mon tuto, n&rsquo;h\u00e9sitez pas \u00e0 me faire signe sur <a href=\"http:\/\/twitter.com\/tulipemedia\" target=\"_blank\" rel=\"noopener\">Twitter<\/a> et <a href=\"http:\/\/www.facebook.com\/tulipemedia\" target=\"_blank\" rel=\"noopener\">Facebook<\/a> !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous cherchez \u00e0 b\u00e2tir un site de rencontres avec BuddyPress et WordPress ? A moins que ce ne soit un site o\u00f9 le concept repose sur une ouverture \u00e0 tous les genres, vous allez forc\u00e9ment avoir besoin de personnaliser BuddyPress afin que les hommes ne puissent voir que les femmes, et vice-versa. BuddyPress ne permet [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":1513,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[164],"class_list":["post-1512","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-buddypress","tag-tips-wordpress"],"_links":{"self":[{"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/posts\/1512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/comments?post=1512"}],"version-history":[{"count":1,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/posts\/1512\/revisions"}],"predecessor-version":[{"id":5311,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/posts\/1512\/revisions\/5311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/media\/1513"}],"wp:attachment":[{"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/media?parent=1512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/categories?post=1512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tulipemedia.com\/en\/wp-json\/wp\/v2\/tags?post=1512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}