Как вывести ACF поля для создания новых в ЛК пользователя?
Ссылка скопирована
Здравствуйте. Столкнулся с необычной задачей. Нужно вывести поля ACF в режиме редактирования (как внутри админки WP), но на кастомную страницу пользователя.
Т.е. у пользователя будет Личный Кабинет. Он в него заходит, и может редактировать ACF поля. Это можно как-то реализовать?
Дополнительно:
Почитать документацию к АЦФ
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
1С
Как выдать дефолтному пользователю 1С 8.3 право на загрузку XML?
1 ответ
Искусственный интеллект
Как сделать чтобы отобразился в ComfyUI Manager?
0 ответов
VPN
Почему не работает связка 3X-UI на своем VPS и Necobox на Windows 10 и где искать причину?
1 ответ
1С-Битрикс
Из-за чего Bitrix 14.5 не импортирует инфоблоки из своего же CSV?
0 ответов

ACF можно вывести на фронте в режиме редактирования через функцию
acf_form(). Это штатный способ дать пользователю форму с ACF-полями вне админки. Главное — подключить ACF form head до вывода страницы и правильно ограничить доступ.В шаблоне страницы личного кабинета до
get_header()нужно вызвать:acf_form_head(); get_header();
А в нужном месте вывести форму:
if (is_user_logged_in()) { acf_form([ 'post_id' => 'user_' . get_current_user_id(), 'field_groups' => [123], 'submit_value' => 'Сохранить', 'updated_message' => 'Данные сохранены', ]); }
Если пользователь должен редактировать поля своей записи, а не профиля, передавайте ID этой записи в
post_id. Обязательно проверьте владельца:if ((int) get_post_field('post_author', $post_id) !== get_current_user_id()) { wp_die('Нет доступа'); }
Не выводите админские ACF-поля всем подряд. Создайте отдельную группу полей для фронта, где нет опасных настроек, служебных ID и полей, которые пользователь не должен менять.
Если нужно создавать новые записи из ЛК, используйте
'post_id' => 'new_post'и параметрnew_post. Но для редактирования существующих данных лучше сначала построить понятную модель: пользователь → запись/профиль → разрешённые поля.После сохранения можно обработать данные через
acf/save_post: отправить уведомление, пересчитать статус анкеты или проверить обязательные поля. Только не забывайте, что фронтовая форма должна быть защищена от чужого редактирования, а не просто скрыта в интерфейсе.