0

何らかの理由で、ifステートメントでHTMLをエコーアウトできません。

<?php
    $my_description = meta('description');
    if (!empty($my_description)): echo '<p class="description">'.$my_description.'</p>';
    echo '<br>'; ?>
<?php endif; ?>

テキストを出力するだけで、他には何も出力しません。

meta('description')バックエンドに配置したテキストを出力するWordpressのプラグインからのものです。上記のコードは、以下のみを出力します。Lorem Ipsum...

更新:出力したい: <p class="description">Lorem Ipsum...</p>

4

2 に答える 2

2

チャットで議論した結果、meta()関数が期待する値を返していないことがわかりました。正しい関数はget_post_meta

<?php
    $my_description = get_post_meta(get_the_ID(), 'description', 1);
    if (!empty($my_description)):
?>
    <p class="description"><?php echo $my_description; ?></p>
    <br>
<?php endif; ?>
于 2012-11-29T05:16:06.997 に答える
0

うーん...すっごく醜い、次のようにしてください:

<?php
echo !empty($my_description) ? '<p class="description">'.$my_description.'</p>' : '<br />';
?>

if三項演算子を使用し、その乱雑な書式設定を使用しないでください...

于 2012-11-29T05:14:48.083 に答える