Использование расширенных пользовательских полей,
Как я могу изменить это по умолчанию ?
Какие-нибудь плагины или фрагмент кода для functions.php?
Спасибо !!
Johan
ОК, для принудительной установки поля ACF, вы должны использовать другой хук, названный acf/update_field/
, Он работает так же, как и раньше:
add_filter('acf/update_field/type=wysiwyg', 'my_custom_acf_filter_wysiwyg', 1);
function my_custom_acf_filter_wysiwyg($field){
$field['media_upload'] = 0;
return $field;
}
И вы можете использовать эти другие для целевых конкретных полей:
acf/update_field/name={$field['name']}
acf/update_field/key={$field['key']}
Когда настройки будут сохранены, их примут ваши пользовательские значения.
Я использую ACF Pro, поэтому мой ответ не может работать для вас …
Для ваших передних полей, вы можете использовать acf/format_value
зацепить и изменить $field
параметры, которые вы хотите:
Пример текстовой области:
add_filter('acf/format_value/type=textarea', 'my_custom_acf_filter_textarea', 1, 3);
function my_custom_acf_filter_textarea($value, $post_id, $field){
remove_filter('acf/format_value/type=textarea', 'my_custom_acf_filter_textarea', 1);
$field['new_lines'] = '';
$newvalue = acf_format_value($value, $post_id, $field);
return $newvalue;
}
Пример изображения:
add_filter('acf/format_value/type=image', 'my_custom_acf_filter_image', 1, 3);
function my_custom_acf_filter_image($value, $post_id, $field){
remove_filter('acf/format_value/type=image', 'my_custom_acf_filter_image', 1);
$field['return_format'] = 'array';
$newvalue = acf_format_value($value, $post_id, $field);
return $newvalue;
}
Обратите внимание, что вы также можете использовать опции для определенных полей с помощью этих хуков:
acf/format_value/name={$field['_name']}
acf/format_value/key={$field['key']}
И для вашего внутреннего дисплея, используйте acf/prepare_field
:
Пример WYSIWYG:
add_filter('acf/prepare_field/type=wysiwyg', 'my_custom_acf_filter_wysiwyg', 1);
function my_custom_acf_filter_wysiwyg($field){
remove_filter('acf/prepare_field/type=wysiwyg', 'my_custom_acf_filter_wysiwyg', 1);
$field['media_upload'] = 0;
return $field;
}
Для отображения администратора вы также можете настроить таргетинг на определенные поля с помощью:
acf/prepare_field/name={$field['name']}
acf/prepare_field/key={$field['key']}