Text placeholder pentru formularul de înregistrare
Încerc să adaug text placeholder în formularul nativ de înregistrare WordPress. În prezent folosesc pluginul Register Plus Redux. Cum pot adăuga acest text placeholder în câmpurile de text ale formularului?
Am nevoie să le spun utilizatorilor să folosească numele și prenumele ca username. Aș fi foarte recunoscător dacă cineva m-ar putea ajuta.

O altă metodă simplă de a face acest lucru fără a fi nevoie să adăugați un alt script este utilizând funcția PHP str_replace.
$args = array(
'echo' => false,
);
$form = wp_login_form( $args );
//adaugă placeholder-ele
$form = str_replace('name="log"', 'name="log" placeholder="Nume utilizator"', $form);
$form = str_replace('name="pwd"', 'name="pwd" placeholder="Parolă"', $form);
echo $form;

Dacă nu greșesc, aceasta pare soluția ideală, deoarece nu te bazezi pe JS, ceea ce ar putea duce la afișarea necorespunzătoare a placeholder-ilor dacă utilizatorul are JS dezactivat sau apare o eroare în JavaScript. Și dacă ai ascuns etichetele, formularul tău ar deveni inutilizabil în acest caz.

Din păcate, nu există hook-uri/filtre pentru a modifica câmpul de input în formularul de login/înregistrare pentru a adăuga un placeholder.
Dar poți face acest lucru folosind jQuery simplu. Voi adăuga pașii mai jos.
Nu știu exact cum acest plugin modifică formularul, dar poți urma aceeași logică și pentru el. Mai jos sunt codurile care funcționează pentru pagina implicită de login/înregistrare.
Mai întâi, trebuie să creezi un fișier js. Eu l-am creat în folderul js al temei active
și l-am denumit custom.js
.
Apoi am adăugat următoarea linie în acest fișier.
/**
* Fișier js personalizat.
*/
jQuery(document).ready(function(){
jQuery('#user_login').attr('placeholder', 'Nume utilizator');
jQuery('#user_email').attr('placeholder', 'Email utilizator');
jQuery('#user_pass').attr('placeholder', 'Parolă utilizator');
});
Codul de mai sus adaugă placeholder-urile Nume utilizator
, Email utilizator
și Parolă utilizator
în câmpurile de input user_login
, user_email
, respectiv user_pass
. Le poți modifica după nevoile tale.
Acum trebuie să adaugi/enqueue acest fișier js, ceea ce poți face prin adăugarea următorului cod în fișierul functions.php
al temei active.
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 );
}

Mă bucur că te-a ajutat, și legat de insignă, nu, nu poți să-mi dai o insignă, cel puțin WPSE nu are încă această funcționalitate ;) dar cu siguranță poți să votezi pozitiv răspunsul meu și să-l accepti pentru a-mi oferi maxim 25 de puncte de la tine :)

@mr_bythatmuch Dacă această soluție ți-a funcționat, te rog să o accepți pentru a ajuta și alții cu aceeași problemă. how-does-accepting-an-answer-work

Conținut demn de recompensat cu aur dar nu este marcat ca răspuns corect. SMH.

Pentru cititorii viitori, placeholder-ele nu sunt suportate pe <IE10. Având în vedere că 2 din fiecare 10 vizitatori folosesc IE8/IE9, recomand utilizarea unui plugin polyfill.
