Testo segnaposto per il modulo di registrazione
Sto cercando di aggiungere del testo segnaposto al modulo di registrazione nativo di WordPress. Attualmente sto utilizzando il plugin Register Plus Redux. Come posso inserire questo testo segnaposto nei campi di input del modulo?
Ho bisogno di indicare agli utenti di utilizzare nome e cognome come username. Sarei davvero contento se qualcuno potesse aiutarmi.

Un altro modo semplice per farlo senza dover aggiungere un altro script è utilizzare la funzione str_replace di PHP.
$args = array(
'echo' => false,
);
$form = wp_login_form( $args );
//aggiungi i segnaposto
$form = str_replace('name="log"', 'name="log" placeholder="Username"', $form);
$form = str_replace('name="pwd"', 'name="pwd" placeholder="Password"', $form);
echo $form;

A meno che non mi stia sfuggendo qualcosa, questa sembra la soluzione ideale perché in questo modo non dipendi dal JavaScript, che potrebbe far sì che i tuoi placeholder non vengano visualizzati se l'utente ha il js disattivato o se c'è un errore nel javascript. E se nascondessi le etichette, il tuo modulo sarebbe inutilizzabile in quel caso.

Sfortunatamente non ci sono hook/filter per modificare il campo di input nel modulo di login/registrazione per aggiungere un placeholder.
Ma puoi farlo con un semplice jQuery. Di seguito aggiungo i passaggi.
Non so come questo plugin modifichi il modulo, ma puoi seguire lo stesso approccio anche per quello. Qui sotto trovi i codici che funzionano per la pagina di login/registrazione predefinita.
Per prima cosa devi creare un file js. Io l'ho creato nella cartella js del tema attivo
e l'ho chiamato custom.js
Poi ho aggiunto la seguente riga in questo file.
/**
* File js personalizzato.
*/
jQuery(document).ready(function(){
jQuery('#user_login').attr('placeholder', 'Nome Utente');
jQuery('#user_email').attr('placeholder', 'Email Utente');
jQuery('#user_pass').attr('placeholder', 'Password Utente');
});
Il codice sopra aggiunge i placeholder Nome Utente
, Email Utente
e Password Utente
rispettivamente ai campi di input user_login
, user_email
e user_pass
. Puoi modificarli in base alle tue esigenze.
Ora devi aggiungere/enqueue questo file js, cosa che puoi fare aggiungendo il seguente codice nel file functions.php
del tuo tema attivo
add_action( 'login_enqueue_scripts', 'wpse_login_enqueue_scripts', 10 );
function wpse_login_enqueue_scripts() {
wp_enqueue_script( 'custom.js', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), 1.0 );
}

Non posso darti, tipo, un distintivo d'oro o qualcosa del genere? :)

Felice di esserti stato utile, e riguardo al distintivo, no non puoi darmi un distintivo, almeno WPSE non ha ancora questa funzionalità ;) ma puoi sicuramente votare la mia risposta e accettarla per darmi il massimo di 25 punti da parte tua :)

@mr_bythatmuch Se questa soluzione ha funzionato per te, accettala in modo che possa aiutare altri con lo stesso problema. come-funziona-l-accettazione-di-una-risposta

Contenuto da remunerare con oro ma senza contrassegnare come risposta corretta. SMH.

Per i lettori futuri, i placeholder non sono supportati su <IE10. Considerando che 2 visitatori su 10 utilizzano IE8/IE9, consiglio di usare un plugin polyfill.
