Как работать с произвольными формами и данными в админке wordpress?

Необходимо дать возможность пользователю редактировать в админке вордпресса список магазинов.
Начал разбираться с плагинами по официальной документации: болванка, таблица БД, страница настроек. А вот дальше забуксовал. В документации описывается как работать со штатным механизмом сохранения настроек.
Мне же необходимо обрабатывать данные собственной формы. И тут непонятно, куда отправлять данные формы, как вообще организован роутинг в вордпрессе, как указать для формы обработчик и т.п.
Гуглинг в основном выдает тонны готовых плагинов для создания кастомных формочек на сайте.
Подскажите, где найти доки по вопросу?
  • Вопрос задан
  • 2501 просмотр
Пригласить эксперта
Ответы на вопрос 2
все доки в Кодексе.
Непонятно, что вы конкретно делаете (видимо так называемую settings page), но так или иначе вешается функция на определенный экшн (add_action) и там разбирается $_POST.
Ответ написан
Комментировать
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Список магазинов - это просто несколько полей в таблице Options или это Custom Post Type? Задача описана очень поверхностно, сложно что-то советовать.

Основных подхода два:
1. Плагин Advanced Custom Fields Pro (есть бесплатная версия, но девелоперская безлимитная Pro за $100 - это мегаполезный инструмент для разработчиков и просто must have на всех сайтах, если они чуть сложнее яем блог). У него есть модуль создания своих страниц настроек, создания на них любых комбинаций полей, созданиие полей для юзеров, таксономий, постов и та далее. Все, что душе угодно. Есть свои функции для создания форм на frontend, задача добавления формы и ее обработки сводится, по сути, к вызову 2х функций в шаблоне.
2. Использование своих собственных форм. Создается плагин, он может работать 2мя путями:
2.1. При активации создаем необходимые страницы, регистрируем и вписываем для каждой свой шорткод, а уже функция шорткода делает все, что нам нужно - обрабатывает данные, выводит форму на странице и так далее.
2.2. Все обработчики и шаблоны находятся в самом плагине, добавляем кастомные правила и переменные для rewrite, и тогда по нужным нам урлам будет вызываться наш файл-обработчик с разными параметрами. В зависимости от параметра делаем то, что нам нужно. С выводом формы, думаю, все понятно, а вот ее обработка - хукаемся в "init", а дальше как обычно с данными $_POST. Приняв и проверив данные дальше стандартными средствами WP записываем все изменения в базу.

Документация по все этим моментам есть в Codex.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы