条件登录链接 - Wordpress - PHP

时间:2016-04-07 02:24:13

标签: php wordpress

感谢您提供的任何帮助,并花时间审核我的问题。我基本上只有一个Wordpress网站,一旦你登录,你会在右上角看到你的名字和头像,当你将鼠标悬停在你的名字上时,编辑个人资料"和"退出"链接出现。我想要的只是一个"登录"当您未登录时,链接将位于同一位置。(这使我无需在边栏中放置登录小部件)。

我能够找到包含该特定代码段的PHP文件,并找到设置用户菜单的位置。我只是不确定我可以添加哪些代码,以便在那里有一个登录链接,通向mysite.com/login/。这是当前的代码:

                            <?php }
                        //user menu
                            $user_show_info = ot_get_option('user_show_info');
                            if ( is_user_logged_in() && $user_show_info =='1') {
                            $current_user = wp_get_current_user();
                            $link = get_edit_user_link( $current_user->ID );
                            ?>
                                <li class="menu-item current_us">
                                <?php  
                                echo '<a class="account_cr" href="#">'.$current_user->user_login; 
                                echo get_avatar( $current_user->ID, '25' ).'</a>';
                                ?>
                                <ul class="sub-menu">
                                    <li class="menu-item"><a href="<?php echo $link; ?>"><?php _e('Edit Profile','cactusthemes') ?></a></li>
                                    <li class="menu-item"><a href="<?php echo wp_logout_url( get_permalink() ); ?>"><?php _e('Logout','cactusthemes') ?></a></li>

这是一张图片,向您展示我的意思。 Top已注销,已登录。

http://6chill.com/loli.jpg

再次感谢您提供的任何帮助,如果您需要更多详细信息,请告诉我们,我会尽力提供。

感谢大家迅速回复:)根据要求,这里有更多的代码,以确保没有遗漏任何内容。

 <?php }
                        //user menu
                            $user_show_info = ot_get_option('user_show_info');
                            if ( is_user_logged_in() && $user_show_info =='1') {
                            $current_user = wp_get_current_user();
                            $link = get_edit_user_link( $current_user->ID );
                            ?>
                                <li class="menu-item current_us">
                                <?php  
                                echo '<a class="account_cr" href="#">'.$current_user->user_login; 
                                echo get_avatar( $current_user->ID, '25' ).'</a>';
                                ?>
                                <ul class="sub-menu">
                                    <li class="menu-item"><a href="<?php echo $link; ?>"><?php _e('Edit Profile','cactusthemes') ?></a></li>
                                    <li class="menu-item"><a href="<?php echo wp_logout_url( get_permalink() ); ?>"><?php _e('Logout','cactusthemes') ?></a></li>

                                </ul>
                                </li>
                        <?php }?>
                        <?php //submit menu
                        if(ot_get_option('user_submit',1)) {
                            $text_bt_submit = ot_get_option('text_bt_submit');
                            if($text_bt_submit==''){ $text_bt_submit = 'Submit Video';}
                            if(ot_get_option('only_user_submit',1)){
                                if(is_user_logged_in()){?>
                                <li class="menu-item"><a class="" href="#" data-toggle="modal" data-target="#submitModal"><?php _e($text_bt_submit,'cactusthemes'); ?></a></li>
                            <?php }
                            } else{
                            ?>
                                <li class="menu-item"><a class="" href="#" data-toggle="modal" data-target="#submitModal"><?php _e($text_bt_submit,'cactusthemes'); ?></a></li>
                            <?php
                            }
                        } ?>

我希望你能找到的是什么。您在哪里看到评论&#34; //提交菜单&#34;,那就是&#34;提交视频&#34;按钮开始发挥作用。非常感谢你们,你们真的很棒!

2 个答案:

答案 0 :(得分:0)

请尝试使用此代码,我认为这会对您有所帮助

<?php
if ( is_user_logged_in() ) 
{ ?>

    <a href="<?php echo wp_logout_url(home_url()); ?>">LOGOUT</a>

    <!-- add another action as per your requirement-->

<?php } else 
{ ?>
    <a class="login" href="<?php echo site_url(); ?>/login/">LOGIN</a>
      <! -- give link to your login page -->
<?php }

将此代码放在头文件中。

答案 1 :(得分:0)

您需要在if语句中添加else来检查用户是否已登录。如果没有记录,则输出指向登录页面的链接。您可能需要在登录链接的菜单项上调整CSS或类。

 <?php }

$user_show_info = ot_get_option('user_show_info');
if ( is_user_logged_in() && $user_show_info =='1') {
    $current_user = wp_get_current_user();
    $link = get_edit_user_link( $current_user->ID );
    ?>
        <li class="menu-item current_us">
        <?php  
        echo '<a class="account_cr" href="#">'.$current_user->user_login; 
        echo get_avatar( $current_user->ID, '25' ).'</a>';
        ?>
        <ul class="sub-menu">
            <li class="menu-item"><a href="<?php echo $link; ?>"><?php _e('Edit Profile','cactusthemes') ?></a></li>
            <li class="menu-item"><a href="<?php echo wp_logout_url( get_permalink() ); ?>"><?php _e('Logout','cactusthemes') ?></a></li>

        </ul>
        </li>
<?php } else { ?>
    <li class="menu-item current_us">
        <a href="<?php echo wp_login_url(); ?>">Login</a>
    </li>

<?php } ?>
<?php //submit menu
if(ot_get_option('user_submit',1)) {
    $text_bt_submit = ot_get_option('text_bt_submit');
    if($text_bt_submit==''){ $text_bt_submit = 'Submit Video';}
    if(ot_get_option('only_user_submit',1)){
        if(is_user_logged_in()){?>
        <li class="menu-item"><a class="" href="#" data-toggle="modal" data-target="#submitModal"><?php _e($text_bt_submit,'cactusthemes'); ?></a></li>
    <?php }
    } else{
    ?>
        <li class="menu-item"><a class="" href="#" data-toggle="modal" data-target="#submitModal"><?php _e($text_bt_submit,'cactusthemes'); ?></a></li>
    <?php
    }
} ?>