Come creare una pagina di modifica del profilo per gli utenti?

14 feb 2018, 09:01:52
Visualizzazioni: 26.5K
Voti: 4

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!

6
Commenti

Oltre a me, sto utilizzando un plugin di modifica profilo front-end per il modulo di modifica profilo utente front-end https://wordpress.org/plugins/frontend-edit-profile/

Adamu Malte Adamu Malte
14 feb 2018 10:39:21

Per chiunque stia cercando, questo plugin non è più disponibile per il download da ottobre 2019. È stato rimosso a causa di una violazione delle linee guida, quindi lo sviluppatore potrebbe aggiornarlo in futuro.

jeh jeh
6 ago 2020 22:53:09

Puoi utilizzare il plugin Profile Builder per questo. Ecco lo shortcode per la modifica del profilo front-end [wppb-edit-profile] https://wordpress.org/plugins/profile-builder/

Ravinder Kumar Ravinder Kumar
14 feb 2018 09:19:46

Grazie. Voglio farlo senza il plugin e con personalizzazione

Mostafa Norzade Mostafa Norzade
14 feb 2018 09:28:14

Ho migrato diverse risposte a commenti poiché non erano risposte, ma raccomandazioni di prodotti. Le risposte devono essere autonome e le raccomandazioni sono fuori tema qui

Tom J Nowell Tom J Nowell
28 mar 2022 18:53:59
Mostra i restanti 1 commenti
Tutte le risposte alla domanda 1
3

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.

14 feb 2018 12:41:17
Commenti

Grazie. Queste modifiche sono nel pannello di amministrazione?

Mostafa Norzade Mostafa Norzade
14 feb 2018 12:52:05

@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!

stackingjasoncooper stackingjasoncooper
15 ott 2018 20:07:22

Ho lasciato diverse correzioni di sicurezza e ho chiarito che il codice linkato era una risposta WPSE non una raccomandazione di plugin.

Tom J Nowell Tom J Nowell
28 mar 2022 18:57:54