WordPress предоставляет различные способы скрытия полей, созданных с помощью плагина Advanced Custom Fields (ACF). Ниже я рассмотрю несколько вариантов.
1. Использование фильтра "acf/load_field". Вы можете использовать этот фильтр для изменения параметров поля перед его загрузкой в административном интерфейсе. Например, если вы хотите скрыть поле с именем "my_field", вы можете добавить следующий код в файл functions.php вашей темы:
function hide_acf_field( $field ) { if ( $field['name'] === 'my_field' ) { $field['instructions'] = ''; // Очищаем инструкцию $field['wrapper']['class'] .= ' hidden'; // Добавляем класс "hidden" для скрытия поля через CSS } return $field; } add_filter( 'acf/load_field', 'hide_acf_field' );
2. Использование CSS для скрытия поля. В некоторых случаях можно просто добавить класс "hidden" к полю, чтобы скрыть его с помощью CSS. Для этого можно использовать фильтр "acf/field_wrapper_attributes". Вот пример:
function hide_acf_field_css( $wrapper_attributes, $field ) { if ( $field['name'] === 'my_field' ) { $wrapper_attributes['class'] .= ' hidden'; // Добавляем класс "hidden" для скрытия поля через CSS } return $wrapper_attributes; } add_filter( 'acf/field_wrapper_attributes', 'hide_acf_field_css', 10, 2 );
3. Использование JavaScript для скрытия поля. В случаях, когда вы хотите скрыть поле динамически, в зависимости от значения другого поля или какого-либо другого условия, вы можете использовать JavaScript. Например, предположим, что у вас есть поле "my_field" и поле "another_field". Если поле "another_field" имеет значение "hide", то поле "my_field" должно быть скрыто. Для этого добавьте следующий код в файл functions.php вашей темы:
function hide_acf_field_js() { ?> <script type="text/javascript"> jQuery(function($) { // Вставьте селектор поля "another_field" и значения, при которых поле "my_field" будет скрыто var selector = '[name="another_field"]', // Селектор поля hide_values = ['hide'], // Значения, при которых поле будет скрыто $field = $('[name="my_field"]').closest('.acf-field'); $(document).on('change', selector, function() { var value = $(this).val(); if (hide_values.indexOf(value) !== -1) { $field.hide(); } else { $field.show(); } }).change(); // Применяем изменения при загрузке страницы }); </script> <?php } add_action( 'admin_footer', 'hide_acf_field_js' );
В этих примерах используется код, который можно разместить в файле functions.php вашей темы WordPress. Помните, что вы должны заменить "my_field" на имя вашего поля ACF, которое хотите скрыть.
В зависимости от ваших требований, вы можете выбрать один из этих способов. Также можно комбинировать различные способы, чтобы достичь требуемого результата.