Я хотел бы отобразить некоторый код html, если переменная не пуста, иначе я бы ничего не показывал.
Я пробовал этот код, но не работает:
<?php $web = the_field('website'); if (isset($web)) { ?> <span class="field-label">Website: </span><a href="http://<?php the_field('website'); ?>" target="_blank"><?php the_field('website'); ?></a> <?php } else { echo "Niente"; } ?>
if (!empty($web)) { ?> <span class="field-label">Website: </span><a href="http://<?php the_field('website'); ?>" target="_blank"><?php the_field('website'); ?></a> <?php } else { echo "Niente";}
isset
вернет true, даже если переменная «". isset
возвращает false, только если переменная имеет значение null . Что вы должны делать:
if (!empty($web)) { // foo }
Это проверит, что переменная не пуста.
Надеюсь это поможет
Просто используйте if ($web)
. Это true
если переменная имеет какое-либо правдоподобное значение.
Вам не нужен isset
или empty
поскольку вы знаете, что переменная существует, поскольку вы только что установили ее в предыдущей строке.
if(!empty($web)) { echo 'Something'; }
if($var !== '' && $var !== NULL) { echo $var; }
Вы используете isset
, то, что isset
делает, проверяет, установлена ли переменная («существует») и не является NULL
. То, что вы ищете, empty
, которое проверяет, является ли переменная пустой или нет, даже если она установлена. Чтобы проверить, что пусто, а что нет, посмотрите:
http://php.net/manual/en/function.empty.php
Также проверьте http://php.net/manual/en/function.isset.php то, что делает isset
точно, поэтому вы понимаете, почему он не делает то, что вы ожидаете от него.
Ваша проблема заключается в использовании поля the_field()
, которое предназначено для дополнительных пользовательских полей, плагина wordpress.
Если вы хотите использовать поле в переменной, вы должны использовать это: $web = get_field('website');
,
Я надеюсь, что это тоже сработает, попробуйте использовать «is_null»,
<?php $web = the_field('website'); if (!is_null($web)) { ?> ....html code here <?php } else { echo "Niente"; } ?>
http://php.net/manual/en/function.is-null.php
надеюсь, что вам подходит ..
Кажется, люди немного усложняют это. Вернемся к исходному вопросу: « … если переменная не пуста, эхо-код html». «Я хотел бы отобразить некоторый код html, если переменная не пуста, иначе я бы ничего не показывал ».
Простой способ:
<?php if (!empty($var)) echo "Some Html Code Here"; ?>
Если ваша переменная не пуста, будет отображаться «Некоторый код HTML здесь». Если он пуст, ничего не произойдет.