Вот мой код, когда у меня нет оператора if, страница будет загружаться правильно, однако, как только я добавлю оператор if, он перейдет на страницу с ошибкой 500.
Да, я знаю, что мне не хватает заявления Vimeo if, однако это не должно иметь значения в данный момент.
<?php
$youtube = get_field('youtube1');
$vimeo = get_field('vimeo1');
if ($youtube) {
echo '<iframe width="420" height="315" src="https://www.youtube.com/embed/' . the_field('youtube1') . '"></iframe>'
}
?>
Редактировать: Уточнение, когда я повторяю iframe без оператора if, он работает. Однако, когда я пытаюсь сказать, если ($ youtube) echo iframe, он ломается.
Я должен повторить переменную, а не the_field ('youtube1'), вот мой обновленный код. Я все еще получаю ошибку 500.
<?php
$youtube = get_field('youtube1');
$vimeo = get_field('vimeo1');
if ($youtube) {
echo '<iframe width="420" height="315" src="https://www.youtube.com/embed/' . $youtube . '"></iframe>'
}
?>
точка с запятой важна в php ... ой, вот обновленный код, однако, даже если ACF пуст на странице, он все еще отображает видео iframe без идентификатора видео, так что это просто битое видео.
<?php
$youtube = get_field('youtube1');
$vimeo = get_field('vimeo1');
if ('' !== strval($youtube)) {
echo '<iframe width="420" height="315" src="https://www.youtube.com/embed/' . $youtube1 . '"></iframe>';
}
?>
edit edit: Ложная тревога. Мне кажется, что я что-то кешировал. Приведенный выше код является правильным и, похоже, работает.