php注册页面模板,选项卡式WordPress登陆注册模板

上次说到不用插件也可以修改WordPress登陆注册界面,不过只是简单的修改了CSS,缺少很多元素,例如header、导航、footer等,为了增加这些元素,我们可以采取另一种方式,将WordPress登陆注册界面做成page模板,用page来展示登陆/注册/找回密码。进一步,我们可以将登注册、找回密码放在一个页面,用选项卡切换,效果如下(Based on twentyeleven)

d04c9254fe28dd828d8fdb3cef2cb7a0.gif

显示wp登陆表单的函数

如果只需要显示wp的登陆表单,有一个现成的函数可以用

这里我们要把登陆、注册和找回密码放到一个模板里,所以需要手动写这三个表单的代码。

实现方法

下述文件均放置在主题根目录下

1. 建立一个新的page模板,命名为page-login.php,内容如下:<?php

/*

Template Name:Login Template

*/

wp_enqueue_style('custom-login.css', get_stylesheet_directory_uri() . '/custom-login.css');

get_header();

?>

>

<?php the_title(); ?>

get_currentuserinfo();

if (!$user_ID) { ?>

2. 在文件开头引入了custom-login.css,建立该文件,并将下面的样式表拷贝进去/* tabbed list */

ul.tabs_login {

padding: 0; margin: 20px 0 0 0;

position: relative;

list-style: none;

font-size: 14px;

z-index: 1000;

float: left;

}

ul.tabs_login li {

border: 1px solid #E7E9F6;

-webkit-border-top-right-radius: 10px;

-khtml-border-radius-topright: 10px;

-moz-border-radius-topright: 10px;

border-top-right-radius: 10px;

-webkit-border-top-left-radius: 10px;

-khtml-border-radius-topleft: 10px;

-moz-border-radius-topleft: 10px;

border-top-left-radius: 10px;

line-height: 28px; /* = */ height: 28px;

padding: 0; margin: 0 5px 0 0;

position: relative;

background: #fff;

overflow: hidden;

float: left;

}

ul.tabs_login li a {

text-decoration: none;

padding: 0 10px;

display: block;

outline: none;

}

html ul.tabs_login li.active_login {

border-left: 1px solid #E7E9F6;

border-bottom: 1px solid #fff;

-webkit-border-top-right-radius: 10px;

-khtml-border-radius-topright: 10px;

-moz-border-radius-topright: 10px;

border-top-right-radius: 10px;

-webkit-border-top-left-radius: 10px;

-khtml-border-radius-topleft: 10px;

-moz-border-radius-topleft: 10px;

border-top-left-radius: 10px;

background: #fff;

color: #333;

}

html body ul.tabs_login li.active_login a { font-weight: bold; }

.tab_container_login {

background: #fff;

position: relative;

margin: 0 0 20px 0;

border: 1px solid #E7E9F6;

-webkit-border-bottom-left-radius: 10px;

-khtml-border-radius-bottomleft: 10px;

-moz-border-radius-bottomleft: 10px;

border-bottom-left-radius: 10px;

-webkit-border-bottom-right-radius: 10px;

-khtml-border-radius-bottomright: 10px;

-moz-border-radius-bottomright: 10px;

border-bottom-right-radius: 10px;

-webkit-border-top-right-radius: 10px;

-khtml-border-radius-topright: 10px;

-moz-border-radius-topright: 10px;

border-top-right-radius: 10px;

z-index: 999;

float: left;

width: 100%;

top: -1px;

}

.tab_content_login {

padding: 7px 15px 15px 15px;

padding-top: 10px;

}

.tab_content_login ul {

padding: 0; margin: 0 0 0 15px;

}

.tab_content_login li { margin: 5px 0; }

/* global styles */

#login-register-password {}

#login-register-password h3 {

border: 0 none;

margin: 10px 0;

padding: 0;

}

#login-register-password p {

margin: 0 0 15px 0;

padding: 0;

}

/* form elements */

.wp-user-form {}

.username, .password, .login_fields {

margin: 7px 0 0 0;

overflow: hidden;

width: 100%;

}

.username label, .password label { float: left; clear: none; width: 25%; }

.username input, .password input {

font: 12px/1.5 "Lucida Grande", "Lucida Sans Unicode", Verdana, sans-serif;

float: left; clear: none; width: 200px; padding: 2px 3px; color: #777;

}

.rememberme { overflow: hidden; width: 100%; margin-bottom: 7px; }

#rememberme { float: left; clear: none; margin: 4px 4px -4px 0; }

.user-submit { padding: 5px 10px; margin: 5px 0; cursor:pointer; }

.userinfo { float: left; clear: none; width: 75%; margin-bottom: 10px; }

.userinfo p {

margin-left: 10px;

}

.usericon { float: left; clear: none; width: 15%; margin: 0 0 10px 22px; }

.usericon img.avatar {

border: 1px solid #F4950E;

padding: 1px;

}

3. 选项卡切换效果通过jQuery实现,建立一个js文件叫custom-login.js,拷贝下面的代码jQuery(document).ready(function() {

jQuery(".tab_content_login").hide();

jQuery("ul.tabs_login li:first").addClass("active_login").show();

jQuery(".tab_content_login:first").show();

jQuery("ul.tabs_login li").click(function() {

jQuery("ul.tabs_login li").removeClass("active_login");

jQuery(this).addClass("active_login");

jQuery(".tab_content_login").hide();

var activeTab = jQuery(this).find("a").attr("href");

if (jQuery.browser.msie) {

jQuery(activeTab).show();

}

else {

jQuery(activeTab).show();

}

return false;

});

});

4. 到后台建立一个新的页面,模板选择Login Template,保存发布后就可以看到效果。不同的主题效果不同,需要根据具体情况修改css样式。

集成到主题

如果不想为css和js建立单独的文件,可以将custom-login.css中的内容拷贝到主题的style.css中,将custom-login.js的内容拷贝到footer.php

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内核堆栈 用户堆栈_弹性堆栈介绍

内核堆栈 用户堆栈当您运行对公司至关重要的软件时&#xff0c;您将无法拥有仅用于分析一段时间前发生的事情的日志&#xff0c;让客户端告诉您您的应用程序已损坏&#xff0c;而您甚至不知道发生了什么是真实的问题。 解决该问题的方法之一是使用监视和日志记录。 大多数应用…

php 字符串 中文,php 中文字符串截取乱码

PHP截取字符串如果是英文直接用substr就可以了,但对于中文字符&#xff0c;用substring可能会导致乱码&#xff0c;那么将如何解决呢&#xff1f;1、通过函数mb_substr实现说明&#xff1a;mb_substr($str, $start, $length, $encoding);通过该函数即可&#xff0c;但需要加载p…

java 调试技巧

【0】README 0.1&#xff09; 本文描述源代码均 转自 core java volume 1&#xff0c; 旨在理解 java 调试技巧 的相关知识&#xff1b; 【1】调试技巧相关 1.1&#xff09;可以用下面的方法打印或记录任意变量的值&#xff1a; System.out.println("x " x); 或 …

jdk 版本和内部版本对应_JDK 14 Rampdown:内部版本27

jdk 版本和内部版本对应马克 雷因霍尔德&#xff08; Mark Reinhold&#xff09;最近的帖子“ JDK 14现在处于Rampdown第一阶段 ”宣布“我们现在处于Rampdown第一阶段”&#xff0c;并且“整体功能已冻结”。 JDK 14 Early Access Build &#xff03;27&#xff08;2019/12/12…

对一个java源文件进行正确编译,给定如下一个Java源文件Child.java,编译并运行Child.java,以下结果正确的是()...

总成化无本优部问决企题业内法解&#xff0c;给定流配特别题是物送问。而他再告真的不是己这却一诉自&#xff0c;个源文译并运行下某人重病的家得了假如人忽然间&#xff0c;的应对策略有他使用到。结果感是个人自我指一效能对&#xff1a;。哲学的规揭示律一般&#xff0c;管…

异常java.lang.Thread.dumpStack(Unknown Source)

转自&#xff1a; http://www.blogjava.net/landon/archive/2011/02/27/345265.html 昨天在公司写了一段代码&#xff0c;很简单&#xff0c;就是测试Thread的dumpStack方法的使用。 因为Thread的dumpStack方法不是很常用&#xff0c;但它对于如果想看看谁在运行时调用方法还是…

java集合框架——接口图+类图+遗留类图

【0】README 0.1&#xff09;绝对的干货&#xff0c;理清 java集合框架中类和接口的层次关系&#xff1b;

构建maven项目插件_如何构建一个Maven插件

构建maven项目插件使用Okta的身份管理平台轻松部署您的应用程序 使用Okta的API在几分钟之内即可对任何应用程序中的用户进行身份验证&#xff0c;管理和保护。 今天尝试Okta。 由于其插件生态系统的普及&#xff0c;Apache Maven仍然是Java领域最受欢迎的构建工具。 很容易找到…

shu函数php,【函数分享】每日PHP函数分享(2021-3-3)

array_intersect_assoc — 带索引检查计算数组的交集说明array_intersect_assoc ( array $array1 , array $array2 , array $... ? ) : arrayarray_intersect_assoc() 返回一个数组&#xff0c;该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意和 arra…

spring 注释_Spring@主要注释

spring 注释介绍&#xff1a; 当存在多个相同类型的bean时&#xff0c;使用Spring Primary批注为标记的bean提供更高的优先级。 默认情况下&#xff0c;Spring按类型自动连线。 因此&#xff0c;当Spring尝试自动装配并且有多个相同类型的bean时&#xff0c;我们将得到一个NoU…

java集合——集合接口+迭代器接口

【0】README 0.1&#xff09; 本文描述转自 core java volume 1&#xff0c; 源代码 diy 的&#xff0c; 旨在理解 java集合框架——集合接口迭代器接口 的相关知识&#xff1b; 0.2&#xff09; for full source code , please visit https://github.com/pacosonTang/core-j…

snmp在php中的使用,在php中转换python代码以计算snmpvlan掩码的最佳方法

我有一些python代码&#xff0c;我想在一个100%的php代码中使用。你知道我怎么转换代码吗&#xff1f;&#xff1f;&#xff1f;我在转换代码时遇到问题&#xff0c;尤其是部分get bit和set bit。在位掩码通过snmp从交换机中读取&#xff0c;掩码表示交换机端口位于定义的vlan中…

java ssl发送邮件_通过SSL发送的Java邮件

java ssl发送邮件抽象 本博客的目的是演示如何使用Java Mail通过具有SSL连接的SMTP服务器发送电子邮件。 免责声明 这篇文章仅供参考。 在使用所提供的任何信息之前&#xff0c;请认真思考。 从中学到东西&#xff0c;但最终自己做出决定&#xff0c;风险自负。 要求 我使用以…

java集合—— 链表(java中的所有链表都是双向链表)

【0】README 0.1&#xff09; 本文描述转自 core java volume 1&#xff0c; 源代码 diy 的&#xff0c; 旨在理解 java集合—— 链表&#xff08;java中的所有链表都是双向链表&#xff09; 的相关知识&#xff1b; 0.2&#xff09; for full source code , please visit ht…

使用matlab内存不足,Matlab内存不足问题(Out of memory)

今天遇到过这个错误&#xff1a;??? Error using > horzcatOut of memory. Type HELP MEMORY for your options.做算法仿真时&#xff0c;矩阵太大&#xff0c;超出内存了。当信号矩阵缩到可以满足内存时&#xff0c;仿真也没意义了&#xff0c;只有找解决办法了。找到一…

java 邮件 tls_通过TLS发送的Java邮件

java 邮件 tls抽象 本博客的目的是演示如何使用Java Mail通过具有TLS连接的SMTP服务器发送电子邮件。 免责声明 这篇文章仅供参考。 在使用所提供的任何信息之前&#xff0c;请认真思考。 从中学到东西&#xff0c;但最终自己做出决定&#xff0c;风险自负。 要求 我使用以下…

java中的break与continue用法

一、break break 的作用为跳出循环&#xff0c;执行循环外面的操作 &#xff08;1&#xff09;简单break public class Main {public static void main(String[] args) {int i0;for(;i<100;i){if(i2)break;}System.out.println(i);} } 输出结果&#xff1a;2 双重循环 publ…

java中的native关键字有什么作用?(java本地方法)

转自&#xff1a; http://zhidao.baidu.com/link?urlXu94DBMxXz3sJyCrG7G1sCmXoHuyuYx4DMG1x7UqYL7FhfFnqF7-Z9nxIQUpntPkqzaZ0xAyIjKIrEYrwIett_ 1、什么是Native Method 简单地讲&#xff0c;一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一…

php sessionid 重复,php_ session_id 限制同一用户同时登录

出于信息安全的考虑&#xff0c;希望给每个能进入系统的人员一个账户&#xff0c;而不是所有人共用一个账户&#xff0c;并且一个账户同时只能一人登陆。刚开始的做法是登陆加锁&#xff0c;当用户登陆之后&#xff0c;对此用户进行标记&#xff0c;若此用户未下线状态下进行第…

JavaFX之TableView

TableView表 构建一个表主要有TableView,TableColumn,ObservableList,Bean。 添加列table.getColumns().addAll(); ObservableList里面是存放的数据 table.setItems(observableList);添加数据 observableList里面一般是存放的Bean&#xff0c;列与Bean之间建立联系&#xf…