Skip to content

Хуки ​

Когда ACF не активен, каждый хук wpff/… из списка, который есть и у ACF, срабатывает также как acf/…. См. Совместимость с ACF.

ХукТипНазначение
wpff/initactionЗдесь регистрируют группы, страницы настроек и блоки.
wpff/register_field_typesactionСвой тип поля — наследник FreeformFields\Fields\AbstractField: $registry->register( new My_Field() ).
wpff/load_value, wpff/format_value, wpff/update_valuefilter( $value, $post_id, $field ). Есть варианты /type=…, /name=… и /key=….
wpff/validate_valuefilter( $valid, $value, $field, $post_id ). Верните строку с сообщением, чтобы отклонить значение. Есть варианты /type=, /name= и /key=.
wpff/prepare_fieldfilter( $field ) перед выводом поля. Верните false, чтобы скрыть поле.
wpff/pre_update_valuefilterВерните false, чтобы не сохранять значение.
wpff/save_postaction( $post_id, $errors ) после сохранения формы.
wpff/save_field_group, wpff/delete_field_groupactionПосле сохранения или удаления группы в админке.
wpff/load_field_groupsfilterВсе группы до нормализации.
wpff/location/matchersfilterСвои правила размещения: 'param' => fn( $rule, $screen ) => bool.
wpff/settings/save_json, wpff/settings/load_jsonfilterПапки Local JSON.
wpff/settings/{name}filterЗначение настройки.
wpff/options_autoloadfilterАвтозагрузка значений страниц настроек.
wpff/capabilityfilterПраво на управление группами полей. По умолчанию manage_options.
wpff/acf_compatfilterОбъявлять ли функции с именами ACF.
wpff/fields/google_map/api_keyfilterКлюч Google Maps. Верните '', чтобы использовать OpenStreetMap.
wpff/fields/google_map/tilesfilterСервер тайлов: [ 'url' => …, 'attribution' => … ].
wpff/fields/google_map/geocoder_urlfilterГеокодер, совместимый с Nominatim.
wpff/updates/enabledfilterПроверять ли обновления в релизах GitHub. По умолчанию true.
wpff/updates/manifest_urlfilterАдрес манифеста обновлений. По умолчанию — update.json последнего релиза.

Примеры ​

Отклонить значение:

php
add_filter( 'wpff/validate_value/name=isbn', function ( $valid, $value ) {
	if ( $value && ! preg_match( '/^[0-9-]{10,17}$/', $value ) ) {
		return 'Введите корректный ISBN.';
	}
	return $valid;
}, 10, 2 );

Скрыть поле от всех, кроме администраторов:

php
add_filter( 'wpff/prepare_field/name=internal_note', function ( $field ) {
	return current_user_can( 'manage_options' ) ? $field : false;
} );

GPL-2.0-or-later. Проект не связан с ACF и WP Engine.