提问者:小点点

在div包装中包装php生成的内容


我正在用Wordpress使用来自高级自定义字段的php代码片段(如下)。与静态地将div放在php周围不同,我希望php仅在生成的php有内容时才生成div。我将如何做到这一点?

谢谢

这里是指向高级自定义字段的链接https://www.advancedcustomfields.com/resources/oembed/

<div class="embed-container">
    <?php the_field('oembed'); ?>
</div>

共3个答案

匿名用户

您应该能够使用推荐的语法检查字段是否有值并显示它。

<?php 

// Check if the field has a value

if ( get_field('oembed') ): ?>

<div class="embed-container">
    <?php the_field('oembed'); ?>
</div>

<?php endif; ?>

如果您想扩展它以检查和显示多个字段,这里有一些来自ACF的进一步信息。

匿名用户

这将是一个简单的方法:

<?php
$output = trim(the_field('oembed'));
if (!empty($output)) {
  echo "<div class=\"embed-container\">
    $output
  </div>\n";
}
?>

匿名用户

第一行检查字段是否存在且不为空,如果存在,则删除空白。然后第三行检查修剪后的字段是否为空,如果不是,则根据第2行中的格式在其周围添加标记:

<?php

   $field = isset(the_field("oembed")) ? trim(the_field('oembed')) : "";
   $format = "<div>%s</div>";
   echo !empty($field) ? sprintf($format, $field) : ""; 

?>