Здравствуйте! Имеются два кода 1. PHP: <?php $image = get_post_meta($post->ID, 'new', true); ?> <?php if ($image) { ?><img src="/wp-content/uploads/2017/12/novinka.png" class="new_image" /><?php } ?> 2. PHP: <?php $image = get_post_meta($post->ID, 'old_price', true); ?> <?php if ($image) { ?><img src="/wp-content/uploads/2017/12/action.png" class="action_image" /><?php } ?> Выводящие картинки, если задано произвольное поле. Как между этими двумя функциями поставить исключающее или, то есть, если заданы оба произвольных поля, картинка должна выводится одна(сработать только одна функция-любая). Соответственно, если задано одно произвольное поле-сработает та функция для которой задано поле. Всем заранее спасибо, надеюсь задача не сложная, просто я в php (0)
@Griasha, например, можно во второй участок кода добавить проверку значения переменной $image. PHP: <?php if(!$image) { $image = get_post_meta($post->ID, 'old_price', true); ?> <?php if ($image) { ?><img src="/wp-content/uploads/2017/12/action.png" class="action_image" /><?php } }?>
Спасибо, работает. Не могли бы Вы подробнее рассказать, как это работает, чтобы в следующий раз не задавать таких вопросов?
В строке 1 проверяется значение переменной $image. Ранее оно было инициализировано при вызове функции get_post_meta из первого блока кода. Если оно было установлено в значение, приводимое к логическому false (0, null, false), то можно повторить попытку получения изображения. Если же в первом участке кода была получена картинка, то второй участок кода пропускается. Управляющие конструкции