Snippet BuddyPress: Come mostrare solo le persone del sesso opposto nella pagina dei membri

Stai cercando di creare un sito di incontri con BuddyPress e WordPress? A meno che non si tratti di un sito in cui il concetto si basa sull'apertura a tutti i sessi, dovrai necessariamente personalizzare BuddyPress in modo che gli uomini possano vedere solo le donne e viceversa.

BuddyPress non consente di filtrare le persone in base al sesso nella ricerca per impostazione predefinita, e quindi non può impedire alle persone dello stesso sesso di vedersi l'un l'altro nella pagina dei membri.

Inoltre, attualmente non esiste un plugin WordPress che lo consenta. Fortunatamente, la persona dietro l'eccellente plugin BP Profile Search, che consente agli utenti del tuo social network di cercare membri, ha condiviso un pezzo di codice molto utile. Quest'ultimo non verrà visualizzato solo le persone del sesso opposto nella pagina dei membri e impedirà alle persone dello stesso sesso di vedersi.

Non perderti i consigli aziendali via e-mail

Niente spam, solo un'e-mail quando viene pubblicato un nuovo contenuto.

Per utilizzarlo, dovrai creare un file chiamato “bp-custom.php”, che caricherai nella cartella /wp-content/plugins/ della tua installazione WordPress.

In questo file bp-custom.php, ecco il codice che deve essere inserito tra i 2 tag php (non dimenticateli!):

[codificato]

add_filter('bp_ajax_querystring', 'modify_members_loop', 20, 2);
funzione modification_members_loop ($qs=false, $object=false) {

if (is_user_logged_in() && !current_user_can('activate_plugins') ){

$wpdb globale;
if ($object!= 'membri') restituisce $qs;

// capire se l'utente che ha effettuato l'accesso è maschio o femmina
$sesso = xprofile_get_field_data(2, bp_loggedin_user_id());

if ($sesso == 'Maschio')
$query = "SELEZIONA user_id FROM {$wpdb->prefix}bp_xprofile_data DOVE field_id = 2 AND valore = 'Femmina'";
altro
$query = "SELEZIONA user_id FROM {$wpdb->prefix}bp_xprofile_data DOVE field_id = 2 AND valore = 'Maschio'";

$custom_ids = $wpdb->get_col ($query);

$args = wp_parse_args($qs);
$args['include'] = implode(',', $custom_ids);
$qs = build_query($args);

restituire $qs;
}
}

[/codificato]

Fai attenzione, in questo codice, dovrai sostituire tutti i "2" con l'ID corrispondente al campo "genere". della tua configurazione BuddyPress. Per trovare l'ID, vai all'elenco dei "campi del profilo" e guarda l'URL del campo "Sesso", se è il campo "Sesso" che desideri bloccare.

Sostituisci "Maschio" e "Femmina" con i valori esatti che stai utilizzando nel campo “Genere”.

Infine potrai osservare il risultato accedendo come membro, perché in questo codice abbiamo deliberatamente escluso l'amministratore per poter che come amministratore puoi vedere tutti i membri che compongono il tuo social network o il tuo sito di incontri! Pratico, no?

Una volta caricato questo codice, lo vedrai solo i membri del sesso opposto verranno visualizzati nel ciclo dei membri. Tuttavia, questo codice non filtra altri cicli che mostrano i membri (widget che mostrano gli ultimi membri, ecc.).

Se ti è piaciuto il mio tutorial, non esitare a farmelo sapere su Twitter E Facebook !

Risposte 2

  1. Buongiorno,

    Questa è una funzione molto pratica.

    D’altro canto, questo crea un conflitto con il plugin “buddypress followers”.

    Questo plugin consente ai membri di aggiungersi come preferiti e quando usi il tuo codice, visualizza tutti i membri come preferiti.

    Pensi che questo possa essere risolto?

    Ti ringrazio anticipatamente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

 

Quali sono le carni migliori (e peggiori) per una sana longevità? Di questo tratta il nuovo capitolo dedicato alla dieta naturale dei ruminanti, e alle modifiche apportate dall'uomo, nel bene e nel male 👉 https://blooness.com/alimentation-ruminants/

Staffomatic è la migliore soluzione di pianificazione e gestione del personale? https://buff.ly/4eNwRSP

Carica di più

Non perderti i consigli aziendali via e-mail

Niente spam, solo un'e-mail quando viene pubblicato un nuovo contenuto.

it_ITIT