J'ai un formulaire qui se trouve au début de mon site. J'essaie de supprimer la case à cocher "Mémoriser mes informations", mais je n'arrive pas à le faire fonctionner. Voici mon code de formulaire.
<?php
$args = array(
'echo' => true,
'remember' => true,
'redirect' => ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI'],
'form_id' => 'loginform',
'id_username' => 'user_login',
'id_password' => 'user_pass',
'id_remember' => 'rememberme',
'id_submit' => 'wp-submit',
'label_username' => __( 'Username' ),
'label_password' => __( 'Password' ),
'label_remember' => __( 'Remember Me' ),
'label_log_in' => __( 'Log In' ),
'value_username' => '',
'value_remember' => false
);
wp_login_form( $args );
?>
J'ai essayé ce code, mais je pense que ce serait pour le formulaire wp-admin (et cela ne fonctionne pas sur mon formulaire.
add_action('login_head', 'do_not_remember_me');
function do_not_remember_me()
{
echo '<style type="text/css">.forgetmenot { display:none; }</style>';
}
Des idées sur la façon de le faire correctement?
Il existe un argument remember
pour wp_login_form()
. Il suffit de le définir sur false:
$args = array(
'remember' => false,
);
wp_login_form( $args );
Examinez le code de page généré (ou utilisez l'élément Inspect) pour voir quelle classe CSS est affectée à la zone que vous souhaitez bloquer. Ajoutez ensuite ce code CSS à votre CSS supplémentaire dans votre thème.
Si la classe CSS est 'Rememberme', alors
.rememberme {display:none !important;}
dans le CSS supplémentaire de votre thème (via le Customizer) devrait permettre de masquer ce bloc.
Ajouté
Vous pouvez regarder dans le filtre login_form_defaults, comme dans
add_filter('login_form_defaults', $args);
En utilisant vos $ args. Ceci est supposé définir les arguments par défaut pour la fonction wp_login_form()
.
... et la classe utilisée par wp_login_form est login-remember
à propos de la ligne 470 du https://core.trac.wordpress.org/browser/tags/4.9.6/src/wp-includes/general-template.php# L0 code de base. (Regarder le code principal est toujours utile ...)
** Ajouté **
Eh bien, le code ci-dessus n'est pas correct. Selon la documentation, cela devrait fonctionner:
add_filter( 'login_form_defaults', 'wp_disable_remember_me',10,1);
function wp_disable_remember_me($args ) {
$args['value_remember'] = false;
$args['remember']= false;
return $args;
}
.... mais ce n'est pas. Pas certain de pourquoi; l'ont testé avec plusieurs sites/thèmes.
Alors peut-être que la solution CSS "masquer" est le seul choix.