Как настроить страницы входа/регистрации wordpress?


Мой вопрос в том, как настроить страницу входа и регистрации WordPress по умолчанию без редактирования основных файлов WP. Я больше думаю о том, что functions.php код.

Может ли кто-нибудь помочь мне, найдя учебник или что-то в этом роде? Помните, я не хочу редактировать основные файлы WP. Спасибо!

Author: joelhaus, 2011-01-28

5 answers

Вот мой functions.php что вы можете копировать функции. Мой CSS, по общему признанию, собран быстро и может быть более аккуратным. Сейчас я нахожусь на этапе ускоренного запуска. Но вы можете использовать эти функции. Первый добавляет css в заголовок страницы входа, чтобы переопределить стили. Две последующие функции изменяют URL-адрес и атрибут заголовка ссылки на логотип.

// LOGIN - custom style  
function my_login_style() {  
    echo '  
    #login {  
        background:none;  
        border:0;  
        box-shadow:0;  
        -moz-box-shadow: none; /* Firefox */  
        -webkit-box-shadow: none; /* Safari, Chrome */  
        box-shadow: none; /* CSS3 */  
        }  
    #nav {  
        background:none;  
        }  
    form {  
        -moz-box-shadow: 0 4px 18px #0b0b0b;  
        -webkit-box-shadow: 0 4px 18px #0b0b0b;
        box-shadow: 0 4px 18px #0b0b0b;
        }

    #login form#loginform, #login form#registerform, #login form#lostpasswordform {
        border: 1px solid #fff;
        }

    #login h1 {
        margin-bottom: 10px;
        }

    #login h1 a {
        width:300px;
        height:85px;
        margin: 0 auto 31px;
        }

    #login form#loginform #user_login, #login form#loginform #user_email, #login form#registerform #user_login, #login form#registerform #user_email, #login form#lostpasswordform #user_login, #login form#loginform #user_pass, #login form#loginform #openid_identifier   
        {  
        border: 1px solid #aaa;  
        }  

    #login form .submit input {  
        background: #2bab44 url("zhttp://www.domain.com/site/themes/mytheme/img/login-button-gradient8.png") left top repeat-x !important;   
        border: 1px solid #008717 !important;  
        text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);  
        padding: 5px 20px;  
        }  

    #login form .submit input:hover {   
        background: url("http://www.my.com/site/themes/my/img/login-button-gradient7.png") left -24px repeat-x !important;   
        border: 1px solid #2b8c35 !important;  
        text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);  
        }  

    #login form .submit input:active {
        padding: 5px 20px; /*reqd here for some reason */
        }

    body.login p#nav a {
        color: #888 !important;
        text-shadow:none;
        font-weight:normal;
        letter-spacing:0;
        }
    body.login p#nav a:hover {
        color: #88eb86 !important;
        text-decoration: underline;
        }   

    .login #backtoblog a {
        display:none;
        }

    #login #login_error {
        font-size: 13px;
        font-weight: normal;
        text-shadow: none;
        margin: -11px auto 0;
        padding: 12px;
        width: 275px;
        background: #ffb5b4;
        border: 1px solid #db5858;
        -moz-border-radius: 10px !important;
        border-radius: 5px;
        }   

    #login .message {
        font-weight: normal;
        color: #bbb;
        text-shadow: none;
        }
    #user_pass, #user_login, #user_email {
        background: #fff;   
        }   
    ';
    }
    add_action('login_head', 'my_login_style');

//// LOGIN - function to change link of logo on login page  
function my_login_custom_site_url($url) {  
    return get_bloginfo('siteurl'); //return the current wp blog url  
    }  
    add_filter("login_headerurl","my_login_custom_site_url");  

//// LOGIN - function to change link title of logo on login page (remove's WordPress' slogan)  
function my_login_header_title($message) {  
    return False; /*return the description of current blog */  
    }  
    add_filter("login_headertitle","my_login_header_title");  
 5
Author: Thompson, 2011-01-28 04:40:17

Вы можете использовать функцию add_action для добавления функции входа в систему без необходимости редактирования ядра WP.

Вот учебник, который покажет вам, как создать свой собственный логин wordpress: http://www.problogdesign.com/wordpress/custom-wordpress-login-screen/

Существуют также плагины, которые могут создавать пользовательские логины wordpress, но я чувствую, что они не могут достичь такого же уровня настройки, как этот.

 3
Author: Evan Yeung, 2011-01-28 04:19:06
 2
Author: markratledge, 2017-04-13 12:37:50

Я думаю, что этот код лучше:

function login() {

    if( is_user_logged_in() ) {

        echo 'Bạn đã đăng nhập rồi ! có thể bạn muốn <a href="' . wp_logout_url( home_url() ) . '">đăng xuất</a> ?';

    } else { ?>

        <div id="login">

            <form method="post" action="<?php echo wp_login_url(); ?>" id="loginform" name="loginform">
                <p>
                    <label>Tên đăng nhập<br>
                    <input type="text" tabindex="10" size="20" value="" class="input" id="user_login" name="log"></label>
                </p>
                <p>
                    <label>Mật khẩu<br>
                    <input type="password" tabindex="20" size="20" value="" class="input" id="user_pass" name="pwd"></label>
                </p>
                <p class="forgetmenot"><label><input type="checkbox" tabindex="90" value="forever" id="rememberme" name="rememberme"> Tự động đăng nhập lần sau</label></p>
                <p class="submit">
                    <input type="submit" tabindex="100" value="Đăng nhập" class="button-primary" id="wp-submit" name="wp-submit">
                    <input type="hidden" value="<?php bloginfo( 'url' )?>" name="redirect_to">
                    <input type="hidden" value="1" name="testcookie">
                </p>
            </form>

            <p id="nav"><?php wp_register( '', '' ); ?> | <a title="Tạo mật khẩu mới" href="<?php echo wp_lostpassword_url() ?>">Bạn quên mật khẩu?</a></p>

        </div>

    <?php }

}

А теперь добавьте этот код в header.php в вашем шаблоне:

if( $_GET['msv'] == 'login' ){

    login();
    get_sidebar();
    get_footer();

} else {

    // add more or display home page 

}

Затем вы увидите лучший экран входа в систему.

 2
Author: Jared, 2012-03-05 01:03:46

Вот подробное руководство, опубликованное недавно некоторыми очень знающими разработчиками WP: http://digwp.com/2010/12/login-register-password-code/

Демонстрация: http://digwp.com/custom-login-demo/


Обновление

Один из основных разработчиков WP только что опубликовал это руководство по настройке логотипа экрана входа в систему:

Http://markjaquith.wordpress.com/2011/02/01/customized-wordpress-login-screen/

 1
Author: joelhaus, 2011-02-02 20:28:22