0

カスタム フィールドが「空」でない (何かを含む) 場合に何かをエコーする条件を作成しようとしています。

以下は、「エコー」したいものです。

<div>Who is there?: <?php echo genesis_get_custom_field('FOO'); ?></div>

これにより、次の結果が得られます。

A) "誰がいる?:" (FOO が "空" の場合)

B) "Who is there?: Me" (FOO に "Me" が含まれる場合)

次の提案された条件を追加すると:

<?php if ( genesis_custom_field('FOO') != "") { ?>
<div>Who is there?: <?php echo genesis_get_custom_field('FOO'); ?></div>)
<?php } ?>

FOOが「空」の場合、結果は予想どおり「NULL」です

しかし、FOO = "Me" の場合、結果のエコーは次のようになります。

"Me" (DIV を含むすべての "html" が取り除かれます)

「単純な」構文の問題があると確信しています...私はPHPのマニュアルとGoogleを無駄に精査しました...

私が見つけることができる唯一のあいまいな参照は、HTML の行全体を「エコー」することです。これが良い解決策である場合、誰かが「DIV」が埋め込まれた「エコー」であるコードに「エコー」が埋め込まれた私の作業中の「DIV」を変更する方法の例を共有するように親切にできますか?

4

4 に答える 4

1

これらが2つの異なる機能であることに気付いた後、交換することをお勧めします

if ( genesis_custom_field('FOO') != "")

if ( genesis_get_custom_field('FOO') != "")

この関数は値を返す必要があり、それを比較することができます""

さらにあなたは置き換えることができます

echo genesis_get_custom_field('FOO')

genesis_custom_field('FOO')
于 2012-08-12T08:31:38.800 に答える
0

問題の直接的な解決策ではないかもしれませんが、別のアプローチです-条件自体にHTML部分を出力する必要がありますか?「誰がいるの?」どちらの場合も部分は同じですが、HTML「Whois there?」を印刷するだけで済みます。その後、PHP条件を設定できます。次に、条件に問題がある場合は、デバッグがはるかに簡単になります。

ところで、関数の戻り値に何か問題があるのではないかと思います。

于 2012-08-12T08:07:48.260 に答える
0

以下のコードを試してください:-

<?php

      if ( genesis_custom_field('FOO') != "" && !empty(genesis_custom_field('FOO'))) 
      { 
           echo "<div> Who is there?:". genesis_get_custom_field('FOO')."</div>";
      } 
      else
      {
           echo "<div> Who is there?: Me </div>"
      }

?>
于 2012-08-12T08:11:24.373 に答える
0
<?php if ( genesis_custom_field('FOO') != "") 
{
    echo "<div>Who is there?: ".
         genesis_get_custom_field('FOO').
         "</div>";
} 
?>

PHPですべてをエコーアウトするのはどうですか?

于 2012-08-12T08:15:43.523 に答える