it-swarm.com.de

Entfernen Sie "Remember Me" aus dem Anmeldeformular

Ich habe ein Formular, das sich am vorderen Ende meiner Website befindet. Ich versuche, das Kontrollkästchen "An mich erinnern" zu entfernen, kann dies jedoch nicht zum Laufen bringen. Hier ist mein Formularcode.

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

Ich habe diesen Code ausprobiert, aber ich denke, das wäre für das wp-admin-Formular (und es funktioniert nicht auf meinem Formular).

add_action('login_head', 'do_not_remember_me');
function do_not_remember_me()
{
echo '<style type="text/css">.forgetmenot { display:none; }</style>';
}

Irgendwelche Ideen, wie man das richtig macht?

2

Es gibt ein remembername__-Argument für wp_login_form(). Setzen Sie es einfach auf false:

$args = array(
    'remember' => false,
);

wp_login_form( $args );
2

Sehen Sie sich Ihren generierten Seitencode an (oder verwenden Sie das Inspect-Element), um festzustellen, welche CSS-Klasse dem Bereich zugeordnet ist, den Sie blockieren möchten. Fügen Sie dann diesen CSS-Code zu Ihrem zusätzlichen CSS in Ihrem Thema hinzu.

Wenn die CSS-Klasse 'rememberme' ist, dann

.rememberme {display:none !important;}

in der zusätzlichen CSS Ihres Themas (über den Customizer) sollte funktionieren, um diesen Block zu verbergen.

Hinzugefügt

Sie könnten in den login_form_defaults-Filter schauen, wie in

add_filter('login_form_defaults', $args);

Verwenden Sie Ihre $ args. Dies soll die Standardargumente für die Funktion wp_login_form() setzen.

... und die von wp_login_form verwendete Klasse ist login-remember für Zeile 470 in der Datei https://core.trac.wordpress.org/browser/tags/4.9.6/src/wp-includes/general-template.php#. L0 Kerncode. (Ein Blick auf den Kerncode ist immer hilfreich ...)

** Hinzugefügt **

Nun, der obige Code ist nicht korrekt. Laut Dokumentation sollte dies funktionieren:

    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;
}

.... aber das tut es nicht. Nicht sicher warum; habe es mit mehreren seiten/themen getestet.

Vielleicht ist die CSS-Versteck-Lösung die einzige Wahl.

0
Rick Hellewell