0

サイトのメンバーがログインしていないときにのみ表示したい「ログインと登録」というHTMLを含むWordpressのPHPファイルがあります。ログインすると、「ようこそ、[名前]。"

PHP If ステートメントで HTML を使用する方法がわかりません。条件は次のとおりです。

<?php
      if ( member_is_logged_in() ) {
         print "Welcome [name]";
      } else {
         print "<a href="...">Login</a> | <a href="...">Register</a>";
      }
?>

それは私がそれが見えるべきだと思う方法ですが、うまくいきません。私はPHPが得意ではありませんが、助けていただければ幸いです。ありがとう!

4

4 に答える 4

3

二重引用符で囲まれた文字列で PHP 変数を使用できます。[name] を $name などの変数に置き換えるだけです。これは一重引用符では機能しないことに注意してください。

また、else ケースには 2 組の二重引用符があります。これにより、構文エラーが発生します。それらの 1 つを一重引用符にするか、内側の引用符をエスケープします。

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else {
         print '<a href="...">Login</a> | <a href="...">Register</a>';
      }
?>

PHP タグを終了して、HTML を直接記述することもできます。

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else {
?>
         <a href="...">Login</a> | <a href="...">Register</a>
<?php
      }
?>

これには、より優れた読みやすい構文があります。

<?php if(<your evaluation here>): ?>
HTML for when true
<?php else: ?>
HTML for when false
<?php endif; ?>

詳細については、制御構造の代替構文を参照してください。

では、print と echo のどちらが速いでしょうか?

于 2012-08-09T03:34:07.163 に答える
1

単に:

<?php
      if ( member_is_logged_in() ) {
         print "Welcome $name";
      } else { ?>
         <a href="...">Login</a> | <a href="...">Register</a>
      <?php }
?>
于 2012-08-09T03:34:00.720 に答える
1

WordPress を使用できる場合は、以下のコードを試してください。

Utl を参照してください: - http://codex.wordpress.org/Function_Reference/wp_get_current_user

例: 現在ログインしているユーザーがいるかどうかを判断するには、次のようにします。

<?php
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
    // Not logged in.
} else {
    // Logged in.
}
?>
于 2012-08-09T03:36:57.197 に答える
0

このコードチャンクを試して、私に知らせてください---

<?php
      if ( member_is_logged_in() ) {
    global $display_name;
    get_currentuserinfo();
         print "Welcome ".$display_name;
      } else {
         print "<a href="...">Login</a> | <a href="...">Register</a>";
      }
?>
于 2012-08-09T03:36:59.163 に答える