#wordpress #plugins
Вопрос:
Прямо сейчас я использую плагин ultimate member для регистрации пользователей. Но компания попросила меня изменить форму и разрешить пользователям указывать свои квалификационные данные об образовании в таблице при регистрации. Пользователям нужна кнопка, позволяющая вставлять больше строк (если у них больше квалификаций). Насколько я знаю, я не могу использовать для этого плагин Ultimate Member. Я искал много плагинов для таблиц, но не нашел ничего, что могло бы выполнить эту задачу. Однажды я сделал это с помощью кода. Но я не знаю, как применить его к этой регистрационной форме. Если кто-нибудь может придумать способ встраивания кода в конечный элемент (для сохранения данных таблицы) или любой плагин, который может это сделать, пожалуйста, дайте мне знать как можно скорее.
Обновленный вопрос
Я попробовал этот короткий код и запутался, так как он испортил страницу. Теперь я пытаюсь использовать PHP — метод для решения этой проблемы.
Спасибо
Ответ №1:
Что ж, у вас есть много вариантов решения этой проблемы. То, что вы на самом деле ищете, — это пользовательские поля.
WordPress имеет возможность разрешить авторам сообщений назначать пользовательские поля для публикации. Эта произвольная дополнительная информация известна как метаданные.
Теперь пользовательские поля можно создавать 2 способами.
- Либо вы пишете php-код в плагине/теме
- Или вы устанавливаете плагин, который помогает вам создавать пользовательские поля.
То, что вы на самом деле ищете, — это создание повторяющихся групп полей. Это поле, которое можно воспроизвести. Столько, сколько ты захочешь.
Некоторые плагины, которые предоставляют возможность добавлять их в произвольном порядке, являются:
- Расширенные Настраиваемые Поля — Поле Ретранслятора : https://www.advancedcustomfields.com/resources/repeater/
- Набор инструментов — Воспроизводимая Полевая Группа : https://toolset.com/course-lesson/creating-and-displaying-repeatable-field-groups/
- Метабокс — Группа Мета-Боксов : https://metabox.io/plugins/meta-box-group/
Все они дадут вам возможность создавать поля повторителя. Поле ретранслятора может быть создано как для пользователей, так и для сообщений или пользовательских типов сообщений(CPT). Они нужны вам для пользователей. Я не уверен, какой из них позволяет вам создавать поле ретранслятора для пользователей, но вы можете проверить это на веб-сайте.
PS : Все это платные плагины. (У них может быть бесплатная версия, но поле ретранслятора поставляется с PRO).
После того, как вы создали поле для пользователей, вы можете использовать это поле в своей регистрационной форме.
ОБНОВЛЕННЫЙ ОТВЕТ
Поскольку автор вопроса хочет добавить поле с помощью PHP, поле может быть добавлено как таковое.
После просмотра всех крючков, доступных пользователю с помощью плагина UM (Ultimate Member). Я нашел два крючка, которые можно использовать для добавления полей и сохранения в бэкэнде.
um_after_form
: Некоторые действия после полей формы регистрации.
add_action( 'um_after_form', 'my_after_form', 10, 1 );
function my_after_form( $args ) {
// add your repetable fields here.
}
um_after_save_registration_details
: Действие при регистрации пользователя после сохранения сведений. Это выполняется после отправки формы и регистрации пользователя. Используйте это для сохранения данных в базе данных пользователей.
add_action( 'um_after_save_registration_details', 'my_after_save_registration_details', 10, 2 );
function my_after_save_registration_details( $user_id, $submitted ) {
// Save field here.
// You have user_id and submitted data, do your thing here.
}
Комментарии:
1. Я пытаюсь решить эту проблему с помощью PHP-кода. Я сделал шорткод с повторяемой функцией. Но теперь пытаюсь встроить его в ultimate member
2. @Джанитхарака. Я бы посоветовал вам отредактировать свой вопрос и обновить его новым PHP-кодом, который вы добавили. Также добавление шорткода не поможет вам с добавлением полей при регистрации плагина Ultimate memeber. Все, что вам нужно сделать, это использовать этот PHP-код, код для подключения к регистрационной форме. Я обновил свой ответ в соответствии с вашими новыми выводами. Пожалуйста, проверьте.
3. да, сэр. Я попробовал этот короткий код и запутался, так как он испортил страницу. Я попробую это сделать. Спасибо @Bhanu