Text placeholder pentru formularul de înregistrare

22 ian. 2014, 05:17:04
Vizualizări: 15.5K
Voturi: 7

Î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.

0
Toate răspunsurile la întrebare 2
2
10

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;
11 ian. 2017 01:41:04
Comentarii

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.

Trevor Trevor
24 mai 2017 07:41:10

Aceasta este CU SIGURANȚĂ abordarea corectă pentru această problemă, NU varianta cu JS

vimes1984 vimes1984
19 aug. 2018 12:45:37
7

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 );
}
22 ian. 2014 08:37:17
Comentarii

Maruti, MI-AI FĂCUT ZIUA!. Nu pot să-ți mulțumesc destul!!

mr_bythatmuch mr_bythatmuch
22 ian. 2014 23:47:48

Nu pot să-ți dau, gen, o insignă de aur sau ceva de genul? :)

mr_bythatmuch mr_bythatmuch
22 ian. 2014 23:49:44

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 :)

Maruti Mohanty Maruti Mohanty
23 ian. 2014 07:26:15

@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

Maruti Mohanty Maruti Mohanty
29 ian. 2014 09:41:43

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

Clarus Dignus Clarus Dignus
12 ian. 2016 15:28:42

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.

Clarus Dignus Clarus Dignus
12 ian. 2016 16:34:25

Și despre suportul de localizare? Cred că trebuie să folosești wp_localize_script

emilushi emilushi
3 iun. 2016 22:35:38
Arată celelalte 2 comentarii