В веб-разработке часто встречаются сценарии, в которых требуется отображать различное содержимое в зависимости от наличия или отсутствия 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-адрес отсутствует.