Come creare una pagina di modifica del profilo per gli utenti?
Come posso creare una pagina di Modifica Profilo per gli utenti nel frontend con campi personalizzati usando WordPress?
Campi di Esempio:
Campo per Upload Immagini
Campo di Testo
Ecc...
E come può un utente salvare questi campi?
Grazie!

Questa è una richiesta piuttosto grande ma in sostanza fai così:
Aggiungi campi utente extra usando il codice da questa risposta: Campi Utente Extra
Modificali con un template personalizzato per l'utente:
/* Ottieni le info utente. */
global $current_user, $wp_roles;
get_currentuserinfo();
Ora hai i dati dell'utente loggato che puoi poi modificare. Crea campi che l'utente può cambiare e riempili con le informazioni correnti esempio:
<input name="first_name" type="text" id="first_name" value="<?php the_author_meta( 'first_name', $current_user->ID ); ?>" />
Poi salva i tuoi dati: Prima controlla se sono vuoti e poi sovrascrivi i dati.
if ( ! empty( $_POST['first_name'] ) )
update_user_meta( $current_user->ID, 'first_name', sanitize_text_field( $_POST['first_name'] ) );
Poi reindirizza l'utente se salvato:
/* Reindirizza così che la pagina mostri le info aggiornate.*/
if ( count( $error ) == 0 ) {
//action hook per plugin e salvataggio campi extra
do_action('edit_user_profile_update', $current_user->ID);
$location = get_user_meta( $current_user->ID, 'user_location', true );
wp_safe_redirect( get_bloginfo('url') . str_replace( ' ','-', $location ) );
exit;
}
Funziona così. L'ho fatto esattamente nello stesso modo.

@Interactive - potresti spiegare meglio il redirect con la visualizzazione delle informazioni aggiornate? Ho fatto funzionare tutto tranne che dopo l'invio del form la pagina mostra le vecchie informazioni nei campi del form. Se aggiorno la pagina allora vengono mostrate le nuove informazioni. L'utente viene aggiornato quando controllo dal lato amministratore. Grazie!
