ACF (Advanced Custom Fields) позволяет добавлять пользовательские поля в ваши посты в WordPress. Чтобы скрыть поля, которые не содержат данных, в шаблоне `single.php` вашей темы WordPress, вы можете использовать встроенные функции WordPress и ACF для проверки наличия данных в полях перед их отображением.
Вот пример кода, который показывает, как проверить поле на наличие данных перед его отображением:
```php
<?php
// Получаем данные полей ACF
$composer = get_field('composer');
$alternative_title = get_field('alternative_title');
// Проверяем, есть ли данные для блока "General Information"
if ($composer || $alternative_title) {
echo '<div class="general-information">';
echo '<h2>General Information</h2>';
// Отображаем поле "Composer", если оно содержит данные
if ($composer) {
echo '<div class="composer">';
echo '<strong>Composer:</strong> ' . esc_html($composer);
echo '</div>';
}
// Отображаем поле "Alternative Title", если оно содержит данные
if ($alternative_title) {
echo '<div class="alternative-title">';
echo '<strong>Alternative Title:</strong> ' . esc_html($alternative_title);
echo '</div>';
}
echo '</div>'; // Закрываем блок "General Information"
}
?>
```
Этот код нужно вставить в файл `single.php` или в другой шаблон темы WordPress, где вы хотите отобразить данные. Что этот код делает:
1. Получает данные полей ACF, используя функцию `get_field()`.
2. Проверяет наличие данных в полях "Composer" и "Alternative Title".
3. Если какое-либо из этих полей не пустое, начинается вывод блока "General Information".
4. Если поле содержит данные, они отображаются внутри соответствующего блока.
5. Если ни одно из полей не содержит данных, весь блок "General Information" скрывается и не выводится на экран.
Помните, что значения `composer` и `alternative_title` — это идентификаторы полей ACF, которые вы должны заменить на фактические имена полей, созданные в вашей системе ACF.
Убедитесь, что в вашей теме WordPress нет уже стилей CSS, которые могут конфликтовать с идентификаторами классов, использованными в примере кода. При необходимости вы можете соответствующим образом настроить имена классов HTML-элементов в коде и связанных стилей CSS.