wake-up-neo.net

Benutzerdefiniertes Anmeldeformular

Ich bin sehr neu in WordPress. Ich versuche, ein Anmeldeformular in der Kopfzeile meiner Website anzuzeigen. Wenn ich mir jedoch alle Dateien in meinem Verzeichnis ansehe, ist das sehr überwältigend und ich habe Angst, irgendetwas anzufassen.

Kennt jemand gute Tutorials zum Thema oder wirft vielleicht ein Licht auf das Thema?

5
Javacadabra

Das Anmeldeformular ist ein einfaches HTML-Formular, das Benutzername und Passwort an wp-login.php sendet. So erstellen Sie am einfachsten ein benutzerdefiniertes Anmeldeformular:

<?php
$redirect_to = '';
?>
<form name="loginform" id="loginform" action="<?php echo site_url( '/wp-login.php' ); ?>" method="post">
<p>Username: <input id="user_login" type="text" size="20" value="" name="log"></p>
<p>Password: <input id="user_pass" type="password" size="20" value="" name="pwd"></p>
<p><input id="rememberme" type="checkbox" value="forever" name="rememberme"></p>

<p><input id="wp-submit" type="submit" value="Login" name="wp-submit"></p>

<input type="hidden" value="<?php echo esc_attr( $redirect_to ); ?>" name="redirect_to">
<input type="hidden" value="1" name="testcookie">
</form>

Zeile für Zeile:

  • $redirect_to: Wenn Sie möchten, dass der Benutzer zu einer bestimmten Seite weiterleitet, geben Sie die URL hier ein. Die URL wird in das ausgeblendete Feld am Ende des Formulars eingefügt
  • <form ... action="...">: Die Daten müssen an wp-login.php gesendet werden. Diese Datei befindet sich im Stammverzeichnis Ihrer WordPress-Installation. Erstellen Sie die richtige URL mit site_url() (weitere Informationen zu site_url() finden Sie im Codex). Die Methode muss auf post gesetzt sein
  • Ein Eingabefeld für den Benutzernamen mit der ID user_login
  • Ein Eingabefeld für das Passwort mit der ID user_pass
  • Ein Eingabefeld für das Kontrollkästchen 'RememberMe' (optional)
  • Ein Submit-Button
  • Das ausgeblendete Feld, wenn der Benutzer nach der Anmeldung umgeleitet werden soll (optional)
  • Ein verstecktes Feld für ein Testcookie (optional, aber nützlich)

Erstellen Sie ein Formular und gestalten Sie es mit CSS. Das ist alles.

9
Ralf912
  1. Erstellen Sie eine Vorlagendatei in Ihrem untergeordneten Themenverzeichnis, beispielsweise login.php. Fügen Sie das Anmeldeformular in diese Datei ein:

    <form action="" method="post">
      <div>
        User name: <input name="log" type="text" />
      </div>
      <div>
        Password: <input name="pwd" type="password" />
      </div>
      <div>
        <input type="submit" value="Login" />
        <input type="hidden" name="action" value="my_login_action" />
      </div>
    </form>
    

    Ändern Sie, was Sie möchten, aber Sie sollten die Namensattribute intakt lassen

  2. Erstellen Sie eine functions.php-Datei in Ihrem untergeordneten Designverzeichnis, oder bearbeiten Sie sie, falls Sie eine haben. Sie werden die Login-Anforderungen darin erfüllen:

    add_action('init', function(){
    
      // not the login request?
      if(!isset($_POST['action']) || $_POST['action'] !== 'my_login_action')
        return;
    
      // see the codex for wp_signon()
      $result = wp_signon();
    
      if(is_wp_error($result))
        wp_die('Login failed. Wrong password or user name?');
    
      // redirect back to the requested page if login was successful    
      header('Location: ' . $_SERVER['REQUEST_URI']);
      exit;
    });
    
  3. Erstellen Sie eine Kopie Ihrer header.php-Vorlage, legen Sie sie in Ihrem untergeordneten Themenordner ab und bearbeiten Sie sie. Fügen Sie diesen Code hinzu, in dem das Anmeldeformular angezeigt werden soll:

    <?php
    
     if(!is_user_logged_in()){
       get_template_part('login');
     }
    
    ?>
    
7
onetrickpony

Sie können auch das ursprüngliche Anmeldeformular in Ihrem WP -Design anpassen.

Sie können einige Dinge tun. 1) Sie können das Wp-Logo ändern:

<?php
//Custom logo
function my_custom_login_logo() {
    echo '<style type="text/css">
        h1 a { background-image:url('.get_bloginfo('template_url').'/images/logo.png) !important; }
    </style>';
}

add_action('login_head', 'my_custom_login_logo');

// Custom login

function my_login_logo_url() {
    return get_bloginfo( 'url' );
}
add_filter( 'login_headerurl', 'my_login_logo_url' );
function my_login_logo_url_title() {
    return '[url]';
}
add_filter( 'login_headertitle', 'my_login_logo_url_title' );

?>

2) Sie können das Verwackeln von WP login entfernen:

<?php

function my_login_head() {
    remove_action('login_head', 'wp_shake_js', 12);
}
add_action('login_head', 'my_login_head');

?>

3) Entfernen Sie die Anmeldefehler:

<?php

add_filter('login_errors',create_function('$a', "return null;"));

?>

Wichtig: Verwenden Sie nicht alle diese Codeteile für functions.php. Erstellen Sie zunächst drei davon mit den Namen, die die function beschreiben, wie (ex my_custom_login_logo.php, my_login_head.php und remove_login_errors.php) , und rufen Sie dann die drei Funktionen zu functions.php e.x auf. require_once('includes/secure/my_custom_login_logo.php');require_once('includes/secure/my_login_head.php');require_once('includes/secure/remove_login_errors.php');

umfasst und sicher sind Ordner. Ich hoffe Dir zu helfen. Herzlich willkommen.

2
user24259

hinzufügen von Codes zu wp-login.php. Formularcodes unten.

    <form id="loginform" action="<?php echo site_url( '/wp-login.php' ); ?>" method="POST">

                            <h5><strong>ÜYE GİRİŞİ</strong>  <a href="uyeol.html"><i class="fa fa-gear"></i> ÜYELİK OLUŞTUR.</a></h5>
                            <div class="newsletter-form">

                                <div class="newsletter-email">
                                    <input id="user_login" type="text" name="grs_tcno" value="" placeholder="Kullanıcı">
                                </div>

                                <div class="newsletter-Zip">
                                    <input id="user_pass" type="password" name="grs_sifre" value="" placeholder="Parola">
                                </div>

                                <div class="newsletter-submit">
                                    <input id="wp-submit" type="submit" name="girisyap" value="login">
                                    <input type="hidden" value="<?php echo esc_attr( $redirect_to ); ?>" name="redirect_to">
                                      <input type="hidden" value="1" name="testcookie">
                                    <i class="icons icon-right-thin"></i>
                                </div>

                            </div>
0
Mehmet Şar