Sviluppando il nostro tema personalizzato per buddypress abbiamo riscontrato un bug utilizzando il plugin “Sliding Login Panel “.
Una volta effettuato il login stranamente, veniva mostrata la richiesta di amicizia da me stesso! 🙂 …Strano!!??!!
Analizzando il file update-content.php abbiamo notato che il plugin utilizza la funzione bp_has_members() passando come parametro “include = bp_get_friendship_requests()” ma quest’ultimo ritornava un valore vuoto quando ancora non sono presenti richieste di amicizia. La conseguenza è quindi che bp_has_members() ritornava la lista completa degli utenti (che possiamo limitare utilizzando il parametro per_page=’1′).
Per risolvere il bug è bastato inserire nell’istruzione if l’operatore AND per controllare che bp_get_friendship_requests() non tornasse un valore nullo. In termini di codice modificheremo la riga 110 sostituendo
<?php if ( bp_has_members( 'include=' . bp_get_friendship_requests() . '&per_page=1' ) : ?>
con
<?php if ( bp_has_members( 'include=' . bp_get_friendship_requests() . '&per_page=1' ) && bp_get_friendship_requests() ) : ?>
Riferimenti alla funzione bp_has_members(): http://codex.buddypress.org/developer-docs/custom-buddypress-loops/the-members-loop/
Aggioramento [11 luglio 2011]
Il problema è stato corretto nella nuova versione di “Sliding Login Panel” (ver. 1.2)