Testo segnaposto per il modulo di registrazione

22 gen 2014, 05:17:04
Visualizzazioni: 15.5K
Voti: 7

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.

0
Tutte le risposte alla domanda 2
2
10

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;
11 gen 2017 01:41:04
Commenti

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.

Trevor Trevor
24 mag 2017 07:41:10

Questa è DECISAMENTE l'approccio corretto per questo, NON l'opzione JS

vimes1984 vimes1984
19 ago 2018 12:45:37
7

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 );
}
22 gen 2014 08:37:17
Commenti

Maruti, MI HAI FATTO LA GIORNATA! Non so come ringraziarti!!

mr_bythatmuch mr_bythatmuch
22 gen 2014 23:47:48

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

mr_bythatmuch mr_bythatmuch
22 gen 2014 23:49:44

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

Maruti Mohanty Maruti Mohanty
23 gen 2014 07:26:15

@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

Maruti Mohanty Maruti Mohanty
29 gen 2014 09:41:43

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

Clarus Dignus Clarus Dignus
12 gen 2016 15:28:42

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.

Clarus Dignus Clarus Dignus
12 gen 2016 16:34:25

E il supporto per la localizzazione? Penso che tu debba usare wp_localize_script

emilushi emilushi
3 giu 2016 22:35:38
Mostra i restanti 2 commenti