如何定制WordPress登录/注册页面?

时间:2011-01-28 作者:Jared

我的问题是如何在不编辑WP核心文件的情况下自定义默认WordPress登录和注册页面。我想的更多的是函数。php代码。

有谁能帮我找个教程什么的吗?记住,我不想编辑WP核心文件。谢谢

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

这是我的功能。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");  

SO网友:Evan Yeung

您可以使用add_action 函数添加到登录函数,而无需编辑WP核心。

以下是一个教程,向您展示如何创建自定义wordpress登录:http://www.problogdesign.com/wordpress/custom-wordpress-login-screen/

还有一些插件可以创建自定义wordpress登录,但我觉得它们无法达到与此相同的自定义级别。

SO网友:markratledge
SO网友:joelhaus

以下是一些知识渊博的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/

结束

相关推荐

Wp-login.php重定向至HTTPS

我最近将一个WP multi-site 3.0.1数据库从生产环境恢复到临时环境,当我尝试登录时,会被重定向到HTTPS URL。浏览器抱怨证书不好,然后当我单击“继续”时,它会说找不到页面。我已经清除了我的浏览器cookie和所有好东西,但它仍然不允许我登录。此外,我在尝试登录时遇到间歇性的“此主机上未定义站点”错误。我以前从未见过这个问题,我以前肯定做过这个备份数据库还原过程。谢谢你的帮助,戴夫