Custom login form

时间:2013-01-20 作者:Javacadabra

我对WordPress很陌生。我正在尝试在网站的标题部分显示登录表单。然而,当我看到我的目录中的所有文件时,它是非常强大的,我害怕触摸任何东西。

有没有人知道关于这个主题的好教程,或者对这个问题有什么启发?

3 个回复
最合适的回答,由SO网友:Ralf912 整理而成

登录表单是一个简单的html表单,向wp登录发送用户名和密码。php。这是创建自定义登录表单的最简单方法:

<?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>
逐行:

  • $redirect_to: 如果希望用户重定向到特殊页面,请在此处插入url。url将插入公式末尾的隐藏字段中<form ... action="...">: 数据必须发送至wp登录。php。此文件位于WordPress安装的根目录中。使用创建正确的urlsite_url() (有关更多信息,请参阅法典site_url()). 方法必须设置为postuser_loginuser_pass
  • 用于“RememberMe”复选框的输入字段(可选)
  • 提交按钮(如果用户在登录后应重定向),则隐藏字段(可选)
  • 用于测试cookie的隐藏字段(可选,但有用)
    • 创建公式并使用css设置样式。仅此而已。

SO网友:onetrickpony

例如,在子主题目录中创建一个模板文件login.php. 将登录表单放入此文件中:

<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>
随意更改,但应保持名称属性不变

创建functions.php 文件位于子主题目录中,如果有,请编辑它。您将在其中完成登录请求:

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;
});
创建您的header.php 模板,将其放在子主题文件夹中并进行编辑。在要显示登录表单的位置添加以下代码:

<?php

 if(!is_user_logged_in()){
   get_template_part(\'login\');
 }

?>

SO网友:Mehmet Şar

向wp登录添加代码。php。以下表格代码。

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

结束