2017-06-22 14 views
1

3日後の投稿は笑います。 誰かを助けることができるかどうか疑問に思っていました。私が編集した以下のコードをしたいと思いますので、お客様がログインしていない場合は、テキストが表示され、「ログイン/登録」と彼らはログインしている場合、それは「マイアカウント」ログインしているユーザーとログアウトしたユーザーに異なるメッセージを表示

<div id="myaccount"> 
    <a href="wordpress/my-account"><img class="bottom" src="wp- 
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/> 
     <p class="icotext">My Account</p> 
    </a> 
</div> 

CSS表示されていること:

を私は

<?php 
if (is_user_logged_in()) { 
    echo 'Welcome, registered user!'; 
} else { 
    echo 'Welcome, visitor!'; 
} 
?> 

の同類を見てきました

#myaccount{ 
    position: relative; 
    margin: 0 auto; 
} 
#myaccount img { 
    position:absolute; 
    left:900px; 
    top: -20px; 
    Height: 50px !important; 
    width: 50px !important; 
} 
a:hover img.top { 
    opacity:0; 
} 
.icotext{ 
    position: absolute; 
    left: 890px; 
    top: 28px; 
    color: #000000 
} 
a:hover .icotext{ 
    font-weight: bold; 
    left: 888px; 
} 

はしかし、私は私のテキストは現在と同じ場所に「」エコーを配置し、同じ効果を追加する方法がわからないと思います。

答えて

0

は、この意志は、私はPHPの第一人者だん

<?php 
if (is_user_logged_in()) { 
    echo '<p class="icotext">'.'Welcome, registered user!'.'</p>'; 
} else { 
    echo '<p class="icotext">'.'Welcome, visitor!'.'</p>'; 
} 
?> 
0

助けかもしれないが、あなたは、マークアップ自体に、コードをインラインで置きます。以下のコードブロックのようなものは、条件付きであなたが望むものを表示することができます。

<?php if(conditions): ?> 
... HTML CODE ... 
<?php endif; ?> 
0

ユーザーがコードに以前ログインしているかどうかを確認してから、後で正しいテキストを挿入することができます。例:

<?php 
$loginText = ""; 
if (is_user_logged_in()) { 
    $loginText = "My Account"; 
} else { 
    $loginText = "Login/Register"; 
} 
?> 

<div id="myaccount"> 
    <a href="wordpress/my-account"><img class="bottom" src="wp- 
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/> 
     <p class="icotext"><?= $loginText ?></p> 
    </a> 
</div> 

<?= ?>構文では、必要な場所に変数を挿入できます。

<div id="myaccount"> 
    <a href="wordpress/my-account"><img class="bottom" src="wp- 
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/> 
     <p class="icotext"> 
<?php 
if (is_user_logged_in()) { 
    echo 'Welcome, registered user!'; 
} else { 
    echo 'Welcome, visitor!'; 
} 
?> 
     </p> 
    </a> 
</div> 

それとも、このようなコードを書くことができ:

+0

私は自分のコンピュータでは分からないが、仕事から家に帰るときに、私はこれを試してみるだろう。このオプションで論理を確かに見ることができる。指が交差しました:-) – PaulMcF87

+0

@ PaulMcF87、それを動作させることができましたか? –

2

は、このようにコードを書く

<p class="icotext"><?php echo (is_user_logged_in()?'Your online':'Hi visitor') ?></p> 
0
<div id="myaccount"> 
    <a href="wordpress/my-account"><img class="bottom" src="wp- 
content/themes/mt_theme/images/my_account_hover.png" alt="My 
Account"/> 
<img class="top" src="wp-content/themes/my_theme/images/my_account.png" 
alt="My Account"/> 
     <p class="icotext"> 
     <?php 
      if (is_user_logged_in()) { 
      echo 'login/register'; 
      } else { 
      echo 'My Account'; 
      } 
     ?> 
     </p> 
    </a> 
</div> 
0

は、まずユーザーがかログインしている状態を確認してください。あなたは

は、ログインとしてセッションを設定するか、これを行うとブール

としてSession_Loginを確認するには、今では

if($SESSION_LOGIN){ 
     echo "<p class = "icotext">"."Welcome , registered user"."</p>"; 
    }else{ 
     echo "<p class = "icotext">"."Welcome ,visitor"."</p>"; 
    } 

を実行チェックの一部は、最初のセッションを開始することを確認しています。

0

ユーザーの現在の状態(ログイン/ログアウト)に基づいて現在のメッセージを返すHTMLブロック内にコードブロックを作成する必要があります。さて、この "問題"を解決する最良の方法ではありませんが、それはワードプレスの方法です。例を見てみましょう:

これは、ワードプレスを使用している場合、あなたのケースでは最適なアプローチです。

関連する問題