За последние 24 часа нас посетили 67683 программиста и 5356 роботов. Сейчас ищут 1575 программистов ...

Ссылка с условием

Тема в разделе "PHP для новичков", создана пользователем Jode90, 3 май 2023.

  1. Jode90

    Jode90 Новичок

    С нами с:
    3 май 2023
    Сообщения:
    1
    Симпатии:
    0
    Доброго времени суток всем экспертам! Вопрос, наверное, примитивный, но я полный чайник в PHP и не смог найти в Гугле даже примерный ответ. Суть в следующем - есть сайт на wordpress, где на одной из страниц обычно размещается ссылка на скачивание контента.
    Код последней звучит просто - <A HREF=<?php the_field('link'); ?>>Download</a>
    <?php the_field('link'); ?> - отображает ссылку которая прописывается в одноименное поле при добавлении записи. Но есть проблема! Если при добавлении записи ничего не писать в графу "Link" (допустим, ссылки никакой нет и предоставить её нельзя), то последняя всё-равно добавляется в будущую запись, только вести будет в никуда (а точнее, на ту самую страницу где она размещена). Вопрос - как сделать так, чтобы ссылка появлялась лишь тогда, когда в поле Link (при добавлении новой записи) задаётся ссылка (или вообще хоть что-то), а когда данная графа пуста, то просто высвечивалось что-то вроде "Файл не найден". Всем огромное спасибо за помощь! Надеюсь, что смог изложить суть!
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    PHP:
    1. <?= empty($link = get_field('link')) ? '/404' : $link ?>
    Вокруг угловых скобок, наверное, лучше кавычки поставить.
    --- Добавлено ---
    Вместо empty можно использовать отрицание (!), т.к. пустое значение, не считая «неопределенности», четко приводится к фолс. Или даже так:
    PHP:
    1. <?= ($link = get_field('link')) ? $link : '/404' ?>
    --- Добавлено ---
    А лучше вообще ссылку не показывать, если link пустое:
    PHP:
    1. <?= ($link = get_field('link')) ? '<a href="'.$link.'">Download</a>' : 'None' ?>
     
    #2 miketomlin, 3 май 2023
    Последнее редактирование: 3 май 2023
    Jode90 нравится это.
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Возможно, $link перед выводом надо пропустить через HTML-кодировщик. ХЗ как это устроено в WP.