Есть ли плагин WordPress или php-код для вставки таблицы, чтобы пользователь мог манипулировать данными в ней

#wordpress #plugins

Вопрос:

Прямо сейчас я использую плагин ultimate member для регистрации пользователей. Но компания попросила меня изменить форму и разрешить пользователям указывать свои квалификационные данные об образовании в таблице при регистрации. Пользователям нужна кнопка, позволяющая вставлять больше строк (если у них больше квалификаций). Насколько я знаю, я не могу использовать для этого плагин Ultimate Member. Я искал много плагинов для таблиц, но не нашел ничего, что могло бы выполнить эту задачу. Однажды я сделал это с помощью кода. Но я не знаю, как применить его к этой регистрационной форме. Если кто-нибудь может придумать способ встраивания кода в конечный элемент (для сохранения данных таблицы) или любой плагин, который может это сделать, пожалуйста, дайте мне знать как можно скорее.

Обновленный вопрос

Я попробовал этот короткий код и запутался, так как он испортил страницу. Теперь я пытаюсь использовать PHP — метод для решения этой проблемы.

Спасибо

Ответ №1:

Что ж, у вас есть много вариантов решения этой проблемы. То, что вы на самом деле ищете, — это пользовательские поля.

WordPress имеет возможность разрешить авторам сообщений назначать пользовательские поля для публикации. Эта произвольная дополнительная информация известна как метаданные.

Теперь пользовательские поля можно создавать 2 способами.

  1. Либо вы пишете php-код в плагине/теме
  2. Или вы устанавливаете плагин, который помогает вам создавать пользовательские поля.

То, что вы на самом деле ищете, — это создание повторяющихся групп полей. Это поле, которое можно воспроизвести. Столько, сколько ты захочешь.

Некоторые плагины, которые предоставляют возможность добавлять их в произвольном порядке, являются:

Все они дадут вам возможность создавать поля повторителя. Поле ретранслятора может быть создано как для пользователей, так и для сообщений или пользовательских типов сообщений(CPT). Они нужны вам для пользователей. Я не уверен, какой из них позволяет вам создавать поле ретранслятора для пользователей, но вы можете проверить это на веб-сайте.

PS : Все это платные плагины. (У них может быть бесплатная версия, но поле ретранслятора поставляется с PRO).

После того, как вы создали поле для пользователей, вы можете использовать это поле в своей регистрационной форме.

ОБНОВЛЕННЫЙ ОТВЕТ

Поскольку автор вопроса хочет добавить поле с помощью PHP, поле может быть добавлено как таковое.

После просмотра всех крючков, доступных пользователю с помощью плагина UM (Ultimate Member). Я нашел два крючка, которые можно использовать для добавления полей и сохранения в бэкэнде.

  1. um_after_form : Некоторые действия после полей формы регистрации.
 add_action( 'um_after_form', 'my_after_form', 10, 1 );
function my_after_form( $args ) {
    // add your repetable fields here.
}
 
  1. 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