Описание функции acf_form()
Функция acf_form() используется для отображения форм, связанных с пользовательскими полями, созданными с помощью плагина Advanced Custom Fields (ACF). Она позволяет пользователям добавлять, редактировать и сохранять данные, связанные с определенными записями или терминами.
Функция применяется на страницах фронтенда, где необходимо взаимодействие с пользовательскими полями ACF.
Параметры
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для конфигурации формы
Возможные значения:
post_id: ID записи, с которой связаны поля (может быть ‘new’ для создания новой записи)
field_groups: Массив ID групп полей, которые нужно включить в форму
return: URL для перенаправления после успешного сохранения
submit_value: Текст кнопки отправки
html_before_fields: HTML, который будет отображаться перед полями формы
html_after_fields: HTML, который будет отображаться после полей формы
updated_message: Сообщение, отображаемое после успешного сохранения
Возвращаемое значение
Тип: string
Описание: HTML-код формы ACF
Возможные значения:
• HTML-код формы при успешном выполнении
• null в случае ошибки
Примеры использования
Создание формы для новой записи с кнопкой ‘Сохранить’
$args = array(
'post_id' => 'new',
'submit_value' => 'Сохранить'
);
acf_form($args);
Форма будет отображать все поля из связанных групп
Форма для редактирования записи с ID 123 и перенаправлением после сохранения
$args = array(
'post_id' => 123,
'return' => home_url('/thank-you/'),
'submit_value' => 'Обновить'
);
acf_form($args);
Пользователь будет перенаправлен на ‘thank-you’ после успешного сохранения
Безопасность
Валидация входных данных: Все параметры проверяются внутри функции
Санитизация: ACF автоматически очищает данные перед сохранением
Рекомендации: Используйте nonce для проверки подлинности запросов на сохранение
— Связанные функции
Получает поля ACF для определенной записи
Обновляет значение поля ACF
— Хуки
Фильтрует данные перед отправкой формы
Фильтрует данные перед сохранением для валидации
— Примечания
– Ограничения
Ограничения могут возникать при использовании полей, требующих специфической обработки
– Частые проблемы
- Не отображаются поля, если не указана правильная группа полей
- Ошибка при сохранении если не передан правильный post_id