Un utente ha chiesto 👇
Buddypress utilizza campi di registrazione personalizzati, chiamati xProfile, e non sono sincronizzati con i campi del profilo di WordPress.
Pertanto, quando un utente accede utilizzando qualche social network i campi xProfile non vengono compilati, sono quelli di wordpress.
xprofile: http://prntscr.com/octr4v
Questo plugin ha alcune funzionalità per popolare automaticamente entrambi i domini quando l’utente utilizza l’opzione di accesso social?
Grazie per la tua aggiunta!
Lanciatore di thread
(@ named-16833488)
1 anno, 7 mesi fa
Ho trovato una funzione in un file buddypress che fa esattamente quello che ho menzionato, ma penso che non funzioni dopo aver effettuato l’accesso utilizzando quello successivo …
function xprofile_sync_bp_profile( &$errors, $update, &$user ) {
// Bail if profile syncing is disabled.
if ( bp_disable_profile_sync() || ! $update || $errors->get_error_codes() ) {
return;
}
if ( isset( $user->first_name ) ) {
xprofile_set_field_data( bp_xprofile_firstname_field_id(), $user->ID, $user->first_name );
}
if ( isset( $user->last_name ) ) {
xprofile_set_field_data( bp_xprofile_lastname_field_id(), $user->ID, $user->last_name );
}
if ( isset( $user->nickname ) ) {
xprofile_set_field_data( bp_xprofile_nickname_field_id(), $user->ID, $user->nickname );
}
$user->display_name = bp_custom_display_name_format( $user->display_name, $user->ID );
}
add_action( 'user_profile_update_errors', 'xprofile_sync_bp_profile', 20, 3 );
Non capisco molto della programmazione, ma da quello che ho studiato, questa funzione verrà eseguita solo quando un profilo viene aggiornato manualmente nella dashboard di wordpress. Quindi cosa sarebbe necessario per eseguirlo subito dopo aver effettuato l’accesso a nextend? C’è un modo per fare questo?
Supporto per plugin
(@laszloszalvak)
1 anno, 7 mesi fa
Ciao @fabianski
Siamo spiacenti, ma non abbiamo l’integrazione per sincronizzare i campi del profilo personalizzato. Questo è qualcosa che puoi ottenere solo con la codifica personalizzata, poiché la maggior parte dei campi del profilo vengono creati dal proprietario del sito all’indirizzo:
Barra laterale di WordPress> Utenti> Campi profilo
Ad ogni modo possiamo darti alcuni suggerimenti e suggerimenti su cosa potrebbe funzionare per te:
– abbiamo azioni in cui puoi assumere funzioni personalizzate:
https://nextendweb.com/nextend-social-login-docs/backend-developer/
L’azione che stai cercando si chiama “nsl_register_new_user”
Le funzioni associate a questa azione verranno attivate ogni volta che un utente si registra con uno dei fornitori di social.
Quindi dovresti scrivere una funzione personalizzata in cui ottieni l’utente con l’ID fornito da Nextend Social Login e quindi potresti sincronizzare i dati dell’utente, con il campo personalizzato xprofile di cui hai bisogno.
Ecco un esempio di codice sorgente per allegare una funzione a questa azione:
function yourCustomFunctionName($user_id, $provider) {
$wp_user_object = new WP_User($user_id);
//your custom code to synchronize the data
}
add_action('nsl_register_new_user', 'yourCustomFunctionName', 10, 2);
Puoi provare la loro funzione “xprofile_set_field_data”, in modo da poter impostare i dati del profilo per un’area utente specifica.
Se questo non funziona, suggerirei di contattare gli sviluppatori di BuddyPress, probabilmente possono fornirti informazioni più chiare sulle funzioni xprofile che devi utilizzare.
Ti auguro il meglio,
Laszlo.
Was this helpful?
0 / 0