web-dev-qa-db-fra.com

Supprimer "Mémoriser mes informations" du formulaire de connexion

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?

2
Best Dev Tutorials

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 );
2

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.

0
Rick Hellewell