使页面仅对登录的成员可见

时间:2013-02-08 作者:user27063

我想在我的网站上为每个用户创建一个页面。当用户登录时,我希望他们能够单击专门为他们设计的页面(基本上,当他们登录时,我希望他们能够查看自己的个人资料)。当其他用户登录时,我希望他们能够查看自己的个人资料。

注意:我想让他们的档案名为“我的账户”,我需要在导航栏上显示

有什么想法吗?

2 个回复
SO网友:s_ha_dum

基于此声明。。。

注意:我希望他们名为“我的帐户”的个人资料显示在导航栏上

。。。还有你描述的其他部分,我认为你想要的不是真正拥有“只有登录的成员”的页面。尽管问题的标题不同,但听起来您需要一个显示当前用户个人资料的页面,这只对登录用户有意义,但与标题所暗示的有所不同。假设解释是正确的。。。

Make a template file for you page

应该是这样的:

<?php
/**
 * Template Name : CurrentProfile
 */

if (is_user_logged_in()) {
  global $current_user;
  get_currentuserinfo();
  // now you should have a data in $currentuser; 
  // basically the *_users table data for the current user; see the Codex
  // get additional user data if desired
  $umeta = get_user_meta($current_user->ID);
  // now you have the *_usermata data for the current user
} else {
  // user is not logged in
  // do something or nothing as you please
}
现在从后端创建一个页面,并将此模板分配给它。现在出现菜单问题。

菜单问题

为该页面分配菜单项很容易,但您可能根本不想让未登录int的用户看到它。最简单的解决方案是CSS。如果主题使用body_class 功能正常<body 页面的标记将具有logged-in 对于登录的用户,请使用样式表在默认情况下隐藏菜单,并仅在具有logged-in<body> 标签我不能把CSS写下来,这可能取决于你的主题。

这不是唯一的解决方案。您可以为菜单创建一个自定义的助行器,也可以挂接到助行器中,但CSS解决方案是最简单的,应该已经足够了。

其他参考资料

http://codex.wordpress.org/Function_Reference/get_currentuserinfohttp://codex.wordpress.org/Function_Reference/get_user_meta

SO网友:tobbr

if ( is_user_logged_in() ) {
    // logged in
} else {
    // not logged in
}
编辑:

说明:如果用户登录,第一条将触发,如果用户未登录,第二条将触发,bot guy先生,这说明够了吗?

结束

相关推荐

WooCommerce dynamic menus

我有一个基本的WordPress网站,设置了Suffusion主题和WooCommerce插件。这在大多数情况下都很有效,但是当我让人们点击/悬停在“Shop”菜单图标上时,我希望它能够动态地下拉我定义的产品类别。我如何做到这一点?我肯定有关于这个主题的文档,但我不确定要查找什么。我主要是一名系统管理员。