Форма комментариев для авторизированных пользователе
-
Здравствуйте. Для НЕавторизированных пользователей сделал следующее: изменил стандартные надписи и убрал обязательное поле e-mail через хуки:
function wph_comments_form($default) { $commenter = wp_get_current_commenter(); $req = get_option( 'require_name_email' ); $aria_req = ( $req ? " aria-required='true'" : '' ); $default['logged_in_as'] = ''; $default['title_reply'] = 'Я хочу добавить несколько слов о преподавателе:'; $default['label_submit'] = 'Ок'; $default['comment_notes_before'] = '<p style="font-size:10px;">Вся информация, добавленная Вами, полностью конфиденциальна</p>'; return $default; } add_filter('comment_form_defaults','wph_comments_form',999); function remove_url_from_comments($fields) { unset($fields['url']); unset($fields['email']); return $fields; } add_filter("comment_form_default_fields", "remove_url_from_comments");Затем сделал (нашел в инете) хук на проверку, чтоб поле «Имя» было заполнено:
function custom_validate_comment_author() { if( empty( $_POST['author'] ) || ( !preg_match( '/[^\s]/', $_POST['author'] ) ) ) wp_die( __('Ошибка! Пожалуйста, заполните поле "Имя"') ); } add_action( 'pre_comment_on_post', 'custom_validate_comment_author',10,2);Если пользователь НЕавторизован, то все ок.
Но возникает следующая проблема. В случае, если авторизовавшийся пользователь (а у него только форма с полем коммента, без поле «Имя») что-то напишет, подтвердит, генерится через последний хук ошибка о том, что поле «Имя» не заполнено (которого для авторизовавшихся нет). Вижу 2 решения этой проблемы:
1. последний хук должен проверять только для неавторизированных пользователей.
2. добавить в форму для авторизированных пользователей поле «имя»
Без понятий, как сделать то или другое, и поисковые запросы в гугле не привели к удаче. Как это можно сделать? Подскажите, пожалуйста
Тема «Форма комментариев для авторизированных пользователе» закрыта для новых ответов.