嵌套回声';s或输出变量


Nesting Echo's or output variable differently?

在回显自定义字段之前,我正在尝试检查以确保自定义字段不是空的。

这就是我的

<?php 
  $key = 'one_line_summary'; 
  $themeta = get_post_meta($post->ID, $key, TRUE); 
  if($themeta != '') {
    echo '<blockquote><?php echo get_post_meta($post->ID, one_line_summary, true); ?></blockquote>';
  }
?>

但它实际显示的是"get_post_meta($post->ID,one_line_summary,true);",而不是变量one_line_summary的内容。

我是一个初学者,但我觉得我需要以某种方式使用嵌套回声,或者一起更改第二个回声?

提前谢谢。

您在一组现有的PHP标记中嵌套了<?php ?>,这是不允许的。删除这些,并在对get_post_meta()的函数调用中连接。这里发生的情况是,内部<?php ?>标记作为字符串输出到浏览器,但没有在屏幕上呈现(因为浏览器将它们视为未知的HTML标记)。

echo '<blockquote>' .  get_post_meta($post->ID, one_line_summary, true) . '</blockquote>';

需要注意的是,使用适当的代码缩进可以更容易地发现这类问题,就像上面编辑文章时所做的那样。