honest20sad 10.01.2023 01:24

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

Здравствуйте! У меня возникла проблема при добавлении пользовательского поля в форму комментария в WordPress.

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


function wpse_comment_fields($fields) {
    $fields['email'] = '';
    return $fields;
}

add_filter('comment_form_default_fields', 'wpse_comment_fields');

Однако, код не работает, и поле электронной почты не отображается в форме комментария. Что я делаю не так?

Буду благодарен за помощь!

Ответы:

radomir32 10.01.2023 01:39

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

  1. Убедитесь, что вы используете правильный хук (функцию-фильтр) для добавления полей комментария. В вашем случае, это должно быть comment_form_default_fields. Проверьте, что вы правильно указали название функции и хук в вашем коде.
  2. Убедитесь, что ваш код находится в правильном месте. Лучше всего добавить его в файл functions.php вашей темы. Если вы используете дочернюю тему, убедитесь, что код добавлен в functions.php дочерней темы.
  3. Проверьте, что код не конфликтует с другими плагинами или темами. Если у вас установлены другие плагины или изменена тема, попробуйте временно отключить их и проверить, работает ли код.
  4. Убедитесь, что ваша тема использует стандартные функции WordPress для отображения формы комментария. Если у вас используется пользовательская форма комментария, вам может потребоваться внести изменения в соответствующий файл шаблона.

Если после выполнения этих рекомендаций проблема не решена, попробуйте внести некоторые изменения в ваш код:


function wpse_comment_fields($fields) {
    $fields['email'] = '';
    return $fields;
}
add_filter('comment_form_default_fields', 'wpse_comment_fields');
add_filter('comment_form_field_email', function($field) { return ''; });

В этом случае мы добавили еще один фильтр, comment_form_field_email, чтобы полностью удалить стандартное поле email из формы комментария. Теперь ваше поле email должно отображаться правильно.

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

Удачи!


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