我正在用Wordpress使用来自高级自定义字段的php代码片段(如下)。与静态地将div放在php周围不同,我希望php仅在生成的php有内容时才生成div。我将如何做到这一点?
谢谢
这里是指向高级自定义字段的链接https://www.advancedcustomfields.com/resources/oembed/
<div class="embed-container">
<?php the_field('oembed'); ?>
</div>
您应该能够使用推荐的语法检查字段是否有值并显示它。
<?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) : "";
?>