5 методов условного отображения текста, когда ссылка не имеет URL-адреса ACF

В веб-разработке часто встречаются сценарии, в которых требуется отображать различное содержимое в зависимости от наличия или отсутствия URL-адреса в поле ссылки. Если вы используете расширенные настраиваемые поля (ACF) в WordPress или любой другой аналогичной платформе, в этой статье представлены несколько методов условного отображения текста, когда ссылка не имеет URL-адреса ACF. Мы рассмотрим эти методы на примерах кода, которые помогут вам реализовать их в ваших проектах.

Метод 1: использование оператора PHP if-else

$link = get_field('link_field');
if ($link['url']) {
    echo '<a href="' . esc_url($link['url']) . '">' . esc_html($link['title']) . '</a>';
} else {
    echo 'Text to display when link has no URL';
}

Метод 2: использование функции пустой()

$link = get_field('link_field');
if (!empty($link['url'])) {
    echo '<a href="' . esc_url($link['url']) . '">' . esc_html($link['title']) . '</a>';
} else {
    echo 'Text to display when link has no URL';
}

Метод 3. Использование тернарного оператора

$link = get_field('link_field');
echo !empty($link['url']) ? '<a href="' . esc_url($link['url']) . '">' . esc_html($link['title']) . '</a>' : 'Text to display when link has no URL';

Метод 4. Использование свойства отображения CSS

<div class="link-field">
    <a href="<?php echo esc_url($link['url']); ?>"><?php echo esc_html($link['title']); ?></a>
    <span class="no-url-text">Text to display when link has no URL</span>
</div>
<style>
    .link-field .no-url-text {
        display: none;
    }
    .link-field a[href=""] + .no-url-text {
        display: inline;
    }
</style>

Метод 5. Использование JavaScript/jQuery

<div class="link-field">
    <a href="<?php echo esc_url($link['url']); ?>"><?php echo esc_html($link['title']); ?></a>
    <span class="no-url-text">Text to display when link has no URL</span>
</div>
<script>
    var linkUrl = '<?php echo esc_url($link['url']); ?>';
    if (linkUrl === '') {
        $('.link-field .no-url-text').css('display', 'inline');
    }
</script>

Используя один из этих методов, вы можете условно отображать текст, когда ссылка не имеет URL-адреса в ACF. Выберите метод, который соответствует требованиям вашего проекта и предпочтениям в кодировании. Не забудьте учитывать контекст и структуру, с которой вы работаете, поскольку реализация может отличаться. Реализация этих методов поможет вам улучшить взаимодействие с пользователем и справиться со сценариями, когда URL-адрес отсутствует.