Обернуть сгенерированный php контент в div - PullRequest
0 голосов
/ 26 сентября 2019

Я использую фрагмент кода php (ниже) из Advanced Custom Fields with Wordpress.Вместо того, чтобы статически размещать div вокруг php, я бы хотел, чтобы php генерировал div только в том случае, если для php генерируется контент.Как бы я это сделал?

Спасибо!

Вот ссылка на Расширенные пользовательские поля https://www.advancedcustomfields.com/resources/oembed/

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

Ответы [ 3 ]

1 голос
/ 27 сентября 2019

Вы должны быть в состоянии использовать рекомендуемый синтаксис, чтобы проверить, имеет ли поле значение, и отобразить его.

<?php 

// Check if the field has a value

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

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

<?php endif; ?>

Вот дополнительная информация из ACF , если вы хотите расширить ее, чтобы проверить и показать несколько полей.

0 голосов
/ 27 сентября 2019

Первая строка проверяет, существует ли поле и не является ли оно пустым, и, если это так, удаляет пробелы.Затем третья строка проверяет, не является ли обрезанное поле пустым, и если нет, добавляет теги вокруг него в соответствии с форматом в строке 2:

<?php

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

?>
0 голосов
/ 26 сентября 2019

Это был бы легкий подход:

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