Supporto » Funzionalità = Plugin » Creare campo personalizzato in account

  • Ciao a tutti, scrivo in quanto non sto riuscendo a risolvere un problema.
    Ho bisogno di creare un campo personalizzato nel backend nel profilo del cliente.
    Una volta fatto ciò il contenuto del campo da me compilato dovrà essere letto in dettaglio account nel frontend.
    E’ fattibile ? Ho trovato il codice per inserire il codice in backend ma non conosco il codice per poterlo visualizzare in frontend.
    Grazie a tutti

Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Moderatore Guido Scialfa

    (@wido)

    Ciao @visucio,

    La funzione che stai cercando è probabilmente get_user_meta che ti permette di prelevare le meta informazioni dell’utente. Ovviamente il metodo di salvataggio deve salvare il dato con update_user_meta o add_user_meta.

    Per poter prelevare e stampare il meta direi che una riga come questa può andare:

    
    echo esc_html(sanitize_text_field(get_user_meta($userId, '_user_meta_key', true)));
    

    Attenzione le funzioni esc_html e sanitize_text_field sono utilizzate per questioni di sicurezza, nel qual caso tu voglia permettere all’utente di inserire valori html nei campi ti suggerisco di usare questa riga invece

    
    echo wp_kses_post(get_user_meta($userId, '_user_meta_key', true));
    

    Ovviamente $userId, _user_meta_key devi prelevarli da te.
    Il secondo valore è la chiave che usi per salvare il dato, il primo, se vuoi mostrare i dati per l’utente corrente ti basta usare get_current_user_id.

    • Questa risposta è stata modificata 5 anni, 9 mesi fa da Guido Scialfa. Motivo: codice non formattato
    Chi ha creato la discussione visucio

    (@visucio)

    Grazie per la risposta Guido.
    Ti spiego meglio, in pratica, io vorrei creare nel backed nel profilo utente un campo che sarò io a compilarlo.
    Poi il cliente dovrà solo visualizzarlo nel frontend > dettaglio account.

    Moderatore Guido Scialfa

    (@wido)

    Ciao @visucio,

    Allora in questo caso a te interessa mostrare il campo solo se un utente con determinati privilegi è loggato nel backend, se è l’utente stesso puoi nasconderlo o marcarlo come “disabled” così che nessun dato venga inviato.

    Ovviamente quando andrai a mostrare il campo e salvarlo in backend fai sempre il controllo sul tipo di utente che attualmente sta facendo la richiesta.

    Comunque il codice per mostrarlo resta invariato ed è quello che ti ho postato sopra.

Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Il topic ‘Creare campo personalizzato in account’ è chiuso a nuove risposte.