如果用户在WordPress上登录,请删除按钮

时间:2017-08-28 04:02:39

标签: wordpress membership

我在标题中有这两个按钮:

<a href="/" class="button primary-button">Members</a>
<a href="#/register/" class="button secondary-button">Register Now!</a>

如果用户未登录或注册,则应显示这两个按钮。如果已登录,则应显示这两个。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点。我要提到的第一个将利用 WP 功能,第二个仅使用 CSS。

最后,我将以一种仅向登录用户显示按钮的方式结束答案。


选项 1

WordPress 有一个功能可以判断当前访问者是否是登录用户:is_user_logged_in(),类似于以下内容

function is_user_logged_in() {
    $user = wp_get_current_user();
 
    return $user->exists();
}

wp-includes/pluggable.php中可以找到函数。

对于您的特定情况,以下可能会起作用

<?php if ( !is_user_logged_in() ) : ?>
      <a href="/" class="button primary-button">Members</a>
      <a href="#/register/" class="button secondary-button">Register Now!</a>
<?php endif; ?>

选项 2

Customize>Additional CSS 中添加类似以下内容也可能起作用(对我有用)

.logged-in .button-class { 
    visibility: hidden !important;
    display: none !important;
}

.button-class {display: block;}
.logged-in .button-class {display: none;}

附加

或者,如果想仅在用户登录时显示按钮,使用 CSS,请执行以下操作

.button-class {
    visibility: hidden !important;
    display: none !important;
}
.logged-in .button-class { 
    visibility: visible !important;
    display: inline-block !important;
}

答案 1 :(得分:0)

如果用户是否登录wp,您可以查看is_user_logged_in()

if ( is_user_logged_in() ) {
// your code for logged in user 
} else {
// your code for logged out user 
}

为您需要在代码

下使用的已注销用户添加成员和注册按钮
if ( !is_user_logged_in() ) {
  <a href="/" class="button primary-button">Members</a>
  <a href="#/register/" class="button secondary-button">Register Now!</a>
}