BuddyPress Global Search toont niet alle leden

28 augustus 2016 om 15:58

Ik heb gebruik gemaakt van BuddyBoss BuddyPress Global Search plug-in die je gratis kan downloaden. Deze plug-in combineert de zoekfunctionaliteit van WordPress en BuddyPress. De plug-in is simpel in gebruik omdat je in het wp-admin gedeelte alleen op kan geven waar wel of niet in gezocht moet worden.

Tijdens het testen van de plug-in kwam ik erachter dat niet alle leden getoond werden. Na lang zoeken en proberen kwam ik erachter dat er alleen gezocht werd in de lijst met leden die ooit ingelogd zijn geweest. Deze website was nog in ontwikkeling wat betekent dat niet alle leden al geactiveerd waren. Deze heb ik daarom handmatig geactiveerd.

Om te voorkomen dat leden die nieuw worden toegevoegd niet worden getoond in de zoekresultaten heb ik onderstaande functie toegevoegd aan de functions.php bestand van het thema. Deze functie voegt een dummy waarde toe voor de waarde last_activity. Zo lijkt het net of het lid al een keer is ingelogd en komt hij ook terug in de zoekresultaten.

/** 
 * Add a last activity dummy value so that the user is directly visible and searchable.
 */
function buddydev_registration_save( $user_id ) {
	$success = update_user_meta( $user_id , 'last_activity', date('Y-m-d H:i:s'));
	if (!$success) {
		add_user_meta($user_id, 'last_activity', date('Y-m-d H:i:s'));
	}
}
add_action( 'user_register', 'buddydev_registration_save', 10, 1 );
Tweet about this on TwitterGoogle+Share on FacebookPrint this page