当前位置: 首页 > 编程笔记 >

WordPress中登陆后关闭登陆页面及设置用户不可见栏目

徐承载
2023-03-14
本文向大家介绍WordPress中登陆后关闭登陆页面及设置用户不可见栏目,包括了WordPress中登陆后关闭登陆页面及设置用户不可见栏目的使用技巧和注意事项,需要的朋友参考一下

用户登录后关闭登录页面
WordPress默认的登录页面是:http://WP目录/wp-login.php,登录后会自动跳转到:http://WP目录/wp-admin。现在问题来了,如果用户已经登录,但是它又打开wp-login.php页面,会出现什么样的情况呢?答案是,WordPress不会做任何处理,还是直接给你显示登录窗口:

面对如此冰冷的登录框,用户会感到困惑,我刚刚不是已经登录了吗?怎么还要我输入用户名和密码?所以,用户登录后,我们不该让用户再看到登录框。解决此问题的办法有两个:

去除登录链接

     确保页面中不再出现wp-login.php的链接。如用户没有登录,网页中我们可以这样提示:

用户登录后,我们将上面的登录和注册链接删除,换成:

 这样不仅可以让用户对是否已经登录一目了然,而且不会误点击wp-login.php进入登录界面。PHP编程只需用到WordPress的is_user_logged_in()函数判断用户是否已经登录就可以实现。

wp-login.php做跳转

     有些时候,用户登录后还是会偶然点击到wp-login.php登录链接,如浏览器的地址栏。我们这时就该做些补救措施了,不要不作为让登录框显示在用户面前。这里介绍的方法是,当用户已经登录,但是又打开wp-login.php链接,我们就让他跳转到后台首页wp-admin,具体方法是,在当前主题的functions.php中加入以下php代码:

function redirect_logged_user() {
 if(is_user_logged_in() && (empty($_GET['action']) || $_GET['action'] == 'login')) {
  wp_redirect( admin_url() );
  exit;
 }
}
add_action( 'login_init', 'redirect_logged_user' );


创建对用户不可见的自定义栏目
如果你是一个插件或者主题开发者,应该经常会使用自定义栏目(或者叫自定义字段)来存储你的插件或主题的相关参数,有趣的是,在WordPress后台的文章编辑页面或使用the_meta()模板函数时,WordPress不会显示名称以 _(下划线)开头的自定义栏目。

对一些不想让用户看到,更不想让用户修改的自定义栏目,我们可以使用此技巧,不仅让文章编辑页面的自定义栏目简约些,而且不会让用户看到不熟悉的自定义栏目而感到困惑,甚至胡乱修改。下面是个使用范例:

<?php add_post_meta( 68, '_ludou', '露兜博客', true ); ?>

这样就给id为68的文章添加了名称为 _ludou,值为露兜博客的唯一的自定义栏目,而且在文章编辑页面用户也看不到。平常情况下,我们可能是这样使用的,这样在文章编辑页的自定义了栏目中就能看到 ludou 字段:

<?php add_post_meta( 68, 'ludou', '露兜博客', true ); ?>

另外,当自定义栏目的值是一个数组时,在文章编辑页面,该栏目对用户也是不可见的,即使自定义栏目的名称前没加下划线。

 类似资料:
  • 为了省事,我们直接建个index.jsp,把内容放进去 下面就是内容了,自行复制粘贴了, 文件建在WebContent下面就好了. 留意一下,这里是引用新浪cdn的jquery,如果无法访问,自行换成其他可用地址吧. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

  • 将WebContent/index.jsp 文件, 移动到 WebContent/WEB-INF/jsp/user/login.jsp

  • 打开当前登陆表单所在的WebContent/index.jsp页面, 在下述代码 密码 <input name="password" type="password" value="123456"> 的后面加入 <script type="text/javascript"> function next_captcha() {

  • 使用 sentry 在控制器里面,我们使用 sentry,需要在控制器顶部 use 以下 use Sentry 登陆 之 基于凭证登陆用户 首先,登陆非常简单,就是收集表单数据,验证表单数据,我们这里主要讲解怎么验证表单数据 看下面代码 $cred = [ 'email'=>Input::get('email'), 'pa

  • 登陆可以分为三种,分别是LDAP登陆、邮箱密码登陆、三方授权登陆,咱们没有注册功能。下面对这三种登陆方式进行讲解。 LDAP与邮箱登陆大同小异,只需要简单的配置即可。 LDAP登陆 在app.cfg文件找到[server]的login_type参数,设置为 ldap并且找到[ldap]块 [ldap] ldap_host = 127.0.0.1 ldap_port = 389 ldap_base

  • 登陆 1. 在可连接互联网的环境轻触[PlayStation®Network]>[登陆]。 2. 输入在线ID与密码,并轻触[OK]。 登陆1次后即会保存在线ID与密码,以后将根据需要自动登陆。 无法连接网络时,可能会自动登出。 登出 若要手动登出,请轻触[PlayStation®Network]>[登出]。 若已手动登出,下次需要登陆时会显示登陆画面。请确认画面显示的内容,进行登陆操作。