Mostra messaggio globale nei profili utente con solo admin Campo di immissione nel backend di WordPress

Provo a visualizzare una parte di testo (senza plugin) ad esempio “Quote of the day: Some text” su tutte le pagine del profilo utente (… / wp-admin / profile.php).

Questo testo dovrebbe essere gestibile / modificabile dal profilo dell’AMMIN. Nella pagina Profilo amministratore deve essere un campo di immissione testo in cui posso modificare il testo e salvare.

Da ieri non sono riuscito a trovare alcun suggerimento per ottenere questo. Ho trovato molte esercitazioni per creare un campo utente personalizzato per la pagina del profilo, ma nulla di ciò di cui ho bisogno.

Finora sono stato in grado di creare un campo di inserimento del testo in cui posso salvare il testo (input) nel database e visualizzarlo solo nella pagina del profilo degli amministratori con:

function add_qoute_of_the_day_backend( $user ) { // Visible only for admins if( current_user_can( 'administrator' ) ) { ?> 

Quote of the Day Input Field

<input type="text" name="qoute_of_the_day" value="ID )); ?>" class="regular-text" />
<?php } add_action( 'show_user_profile', 'add_qoute_of_the_day_backend', 10 ); add_action( 'edit_user_profile', 'add_qoute_of_the_day_backend', 10 ); function save_qoute_of_the_day_backend( $user_id ) { if ( !current_user_can( 'edit_user', $user_id ) ) return false; update_user_meta( $user_id,'qoute_of_the_day', sanitize_text_field ( $_POST['qoute_of_the_day'] ) ); } add_action( 'personal_options_update', 'save_qoute_of_the_day_backend' ); add_action( 'edit_user_profile_update', 'save_qoute_of_the_day_backend' );

Il codice sopra funziona, ma come posso visualizzare l’input dell’amministratore, in Text Form (solo: “Quote of the day: Some Text”) in tutti gli altri profili utente? Forse un modo per creare un semplice campo di input solo per l’amministratore Ruolo e visualizzare l’input in tutti i profili?

Visual – cosa sto cercando di ottenere:

INPUT FIELD nella pagina del profilo dell’amministratore:

inserisci la descrizione dell'immagine qui

DISPLAY Testo in tutti gli altri profili utente:

inserisci la descrizione dell'immagine qui

Qualsiasi aiuto sarebbe molto apprezzato

Solutions Collecting From Web of "Mostra messaggio globale nei profili utente con solo admin Campo di immissione nel backend di WordPress"

Hai solo bisogno di spostare il controllo di capacità “verso l’interno”:

 function wpse_230369_quote_of_the_day( $user ) { $quote = esc_attr( get_option( 'quote_of_the_day' ) ); ?> 

Quote of the Day Input Field

< ?php if ( current_user_can( 'administrator' ) ) : ?> < ?php else : ?> < ?php echo $quote ?> < ?php endif ?>
< ?php } add_action( 'show_user_profile', 'wpse_230369_quote_of_the_day', 10 ); add_action( 'edit_user_profile', 'wpse_230369_quote_of_the_day', 10 ); function wpse_230369_save_quote_of_the_day( $user_id ) { if ( isset( $_POST['quote_of_the_day'] ) && current_user_can( 'administrator' ) ) update_option( 'quote_of_the_day', sanitize_text_field( wp_unslash( $_POST['quote_of_the_day'] ) ) ); } add_action( 'edit_user_profile_update', 'wpse_230369_save_quote_of_the_day' ); add_action( 'personal_options_update', 'wpse_230369_save_quote_of_the_day' );