2016-04-07 17 views
1

アドバイスをいただきありがとうございました。私は基本的にWordPressのサイトを持っています。ログインすると右上にあなたの名前とアバターが表示され、あなたの名前にカーソルを合わせると "プロフィールの編集"と "ログアウト"のリンクが表示されます。私が望むのは、あなたがログインしていないときに、同じ場所に「Login」リンクがあることです。(これにより、ログインウィジェットをサイドバーに入れる必要がなくなります。条件付きログインリンク - Wordpress - PHP

特定のコードを保持している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> 

ここには、私が意味するものを示すイメージがあります。トップは底がログイン、ログアウトされます。あなたが提供することができるしている、あなたはさらに詳細が必要な場合は、ちょうど私が知っていると私はそれらを提供するために全力を尽くします任意の助け再び

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 
          } 
         } ?> 

私はそれがあなたが探していることを望みます。コメント "// submit menu"が表示されているので、 "Submit Video"ボタンが現れます。そんなにおかげさまでありがとうございます、あなたはすごく驚いています!

+0

投稿したコードに** if loop **の完全な部分が含まれていないため、ifループ全体を提供して回答を得ることができますか? –

+0

更新ありがとうございました – CaptainPlanet

答えて

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 } 

あなたを助けるだろうと思いヘッダファイルにこのコードを置きます。

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 
    } 
} ?> 
+0

ありがとうございました。私は理由を知らないが、何らかの理由でこれと他の提案がページを壊す - 毎回空白の白いページとして出てくる。私はそれが私がそれを実装している方法であるかどうか、あるいは私が他の人が見るための十分なコードを含んでいないかどうかはわかりません。 PHPファイル全体をここに含めました(http://pastebin.com/YHZy2wLw)私が見ている特定の領域を見つけるには、そのページで// usermenuを検索するだけです。あなたのお時間をありがとうございました。 – CaptainPlanet

+0

以前のコメントを無視し、私はまだ Login 私はドン <?phpの}他{?> をサイトを壊すことなく、コードのこの部分を実装することができましたシークレットモードでチェックインするとログインリンクが表示されません:/確かな理由 – CaptainPlanet

+0

ページへのリンクを提供できますか? – Jrod