-1

PHPの経験はありません。私はワードプレスサイトを運営していて、コードに1つの簡単な変更を加えようとしています。これは私が持っているものです:

    <?php
    if(<?php the_author() ?> == "Joe Man")
    {
    <?php the_author() ?>
    }
    ?>

すべての変数は$で始まると思います。したがって、上記のifステートメントにあるものは変数ではありません。私は何をしますか?また、以下のように変数を作成してみました。

    <?php
    $author = <?php the_author() ?>
    if($author == "Joe Man")
    {
    <?php the_author() ?>
    }
    ?>

上記のどちらも機能しませんでした。だから私の質問は、どうすればそれを評価するifステートメントを取得できますか?必要なのは、the_authorが「JoeMan」の場合、文字列「JoeMan」をページに表示するためです。

これは私がところで得るエラーです:

解析エラー:構文エラー、予期しない'<'

ありがとう!

4

3 に答える 3

4

タグをネストすることはできません<?php ?>。正しいコードは次のとおりです。

<?php
    $author = get_the_author();
    if ($author == "Joe Man") {
        echo $author;
    }
?>

実際には、変数を完全にスキップして、コードを次のように短縮することができます。

<?php
    if (get_the_author() == "Joe Man") {
        the_author();
    }
?>

著者を印刷するためのエコーに注意してください。

于 2011-10-15T23:19:42.363 に答える
3

ワードプレスを使用しているように見えるので、PHP-in-PHPエラーを超えて、コードはとにかく機能しません。どちらのthe_author()呼び出しも、比較のためにデータを返すのではなく、単にデータを出力するからです。あなたが望むだろう:

$author = get_the_author();
if ($author == "Joe Man") {
   echo $author;
}

代わりは。原則として、出力を行うWordpressの関数には、出力get_...()ではなく戻るバリアントがあります。

于 2011-10-15T23:34:11.583 に答える
1

著者が「ジョーマン」の場合、著者を出力します。

<?php
  $author = the_author();
  if($author == "Joe Man") {
    echo $author;
  }
?>
于 2011-10-15T23:21:24.147 に答える