if语句没有回显html

时间:2012-11-29 05:04:35

标签: php html if-statement echo

出于某种原因,我无法通过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>

2 个答案:

答案 0 :(得分:2)

discussion in chat之后,我们发现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; ?>

答案 1 :(得分:0)

呃......太丑了,就这样做:

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

使用三元运算符,不要使用那种凌乱的if格式化...