eva32grishina 22.09.2023 13:01

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

Здравствуйте!

У меня возникла проблема с добавлением пользовательских полей в форму комментария на моем сайте WordPress. Я хотел бы, чтобы пользователи могли оставить дополнительную информацию при оставлении комментария, например, свое имя и номер телефона. Я нашел несколько решений в Интернете, но пока не смог их успешно реализовать.

Можете ли вы помочь мне с этим? Мне нужно знать, как добавить пользовательские поля в форму комментария и сохранить их значение в базе данных WordPress. Вот пример кода, который я использую:


function add_custom_fields() {
   $name = $_POST['name'];
   $phone = $_POST['phone'];

   $comment_id = get_comment_ID();
   add_comment_meta($comment_id, 'name', $name);
   add_comment_meta($comment_id, 'phone', $phone);
}

add_action('comment_post', 'add_custom_fields');

Код должен сохранять введенные значения полей 'name' и 'phone' при оставлении комментария. Однако, когда я проверяю комментарии в административной панели WordPress, эти значения отсутствуют.

Буду очень благодарен, если кто-нибудь сможет подсказать, что я делаю не так и как исправить эту проблему.

Заранее спасибо за помощь!

Ответы:

amelia20denisova 22.09.2023 13:06
Вам следует проверить правильность имени полей и убедиться, что вы используете правильный хук для добавления пользовательских полей в форму комментария.
Sebastian45 22.09.2023 13:13
Проверьте, что вы правильно указали атрибуты name и phone в полях формы комментария и убедитесь, что вы используете правильный хук для сохранения значений в базе данных WordPress.
inna18Care 22.09.2023 13:36
Вы должны использовать правильные функции и хуки для добавления пользовательских полей в форму комментария и сохранения их значения.
SadLion35 22.09.2023 13:46

Проблема, с которой вы столкнулись, связана с неправильным использованием функций для добавления пользовательских полей в форму комментария и сохранения их значений в базе данных WordPress.

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


function add_custom_fields($comment_id) {
   $name = $_POST['name'];
   $phone = $_POST['phone'];

   add_comment_meta($comment_id, 'name', $name);
   add_comment_meta($comment_id, 'phone', $phone);
}

add_action('comment_post', 'add_custom_fields');

В этом коде я удалил строку $comment_id = get_comment_ID();, так как аргумент функции add_custom_fields уже предоставляет ID комментария. Значения полей 'name' и 'phone' получаются из массива $_POST, как вы уже делали в своем исходном коде. Далее, функции add_comment_meta используются для сохранения значений полей в базе данных.

Убедитесь, что вы используете этот исправленный код, сохраните его в файле functions.php вашей темы WordPress, и пользовательские поля должны успешно добавляться и сохраняться в базе данных при оставлении комментария.

Надеюсь, это поможет вам решить вашу проблему. Если у вас возникнут еще вопросы, не стесняйтесь задавать!

С уважением,

[Ваше имя]


Добавить ответ