为登录用户显示不同的页脚快捷码

时间:2018-12-17 作者:Jon

我有一个显示内容块的短代码。是否有一种方法可以根据用户是否登录显示不同的HTML?以下是我到目前为止的情况。

function footer_shortcode(){
    $siteURL = site_url();
    $logoutURL = wp_logout_url(home_url());

    echo \'
        <div class="signin_container"> 
            <h4 class="signin_footer_head">Log In To My Account</h4>
            <a href="\'.$siteURL.\'/login/">Log In</a>
            <a href="\'.$siteURL.\'/register/">Sign Up</a>
        </div>
    \';  
}

add_shortcode(\'footerShortcode\', \'footer_shortcode\');

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

您可以使用条件标记检查用户是否登录。条件句在W中很常见,我建议你this page 阅读。

这里有一个例子。

function footer_shortcode(){
    if (is_user_logged_in()){
        echo \'
            // Logged In Content
        \';
    }else{
        echo \'
            // Logged Out Content
        \';
    }       
}

add_shortcode(\'footerShortcode\', \'footer_shortcode\');

SO网友:Liam Stewart

您正在寻找is_user_logged_in()

请参见:https://developer.wordpress.org/reference/functions/is_user_logged_in/

示例:

function footer_shortcode(){
    $siteURL = site_url();
    $logoutURL = wp_logout_url(home_url());

   if(is_user_logged_in()) { // user is logged in
      echo \'
        <div class="signin_container"> 
            <h4 class="signin_footer_head">Account Info</h4>
        </div>
    \'; 
   }

   else { //user is not logged in
      echo \'
        <div class="signin_container"> 
            <h4 class="signin_footer_head">Log In To My Account</h4>
            <a href="\'.$siteURL.\'/login/">Log In</a>
            <a href="\'.$siteURL.\'/register/">Sign Up</a>
        </div>
    \'; 
   } 
}

add_shortcode(\'footerShortcode\', \'footer_shortcode\');
编辑:我看到RiddleMeThis击败了我

相关推荐