Хочу хотя бы знать, норма это или у меня что-то сбилось. По сути же и в просто вордпрессе, и в вукоммерсе это одна и та же форма комментирования?
Я нашел в интернете этот способ кастомизации. Я не знаю почему fields разбросаны на две отдельных функции, inputы
и textarea вроде бы ничем не отличаются внутри, но по отдельноти они действуют, а если объединить две функции в одну, то только textarea кастомизируется. Так же и если переписать comment_form_default_fields на woocommerce_product_review_comment_form_args. Тextarea применяется, а инпуты нет. Чем эти способы неправильные? Я хочу разобраться.
function placeholder_author_email_url_form_fields($fields) {
$replace_author = __('Your Name', 'themename');
$replace_email = __('Your Email', 'themename');
$replace_url = __('Your Website', 'themename');
$fields['author'] = '<div class="comment-form-author">' . '<label for="author">' . __( 'Name', 'themename' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" placeholder="'.$replace_author.'" value="' . esc_attr( $commenter['comment_author'] ) . '" size="20"' . $aria_req . ' /></div>';
$fields['email'] = '<div class="comment-form-email"><label for="email">' . __( 'Email', 'themename' ) . '</label> ' .
( $req ? '<span class="required">*</span>' : '' ) .
'<input id="email" name="email" type="text" placeholder="'.$replace_email.'" value="' . esc_attr( $commenter['comment_author_email'] ) .
'" size="30"' . $aria_req . ' /></div>';
$fields['url'] = '<div class="comment-form-url"><label for="url">' . __( 'Website', 'themename' ) . '</label>' .
'<input id="url" name="url" type="text" placeholder="'.$replace_url.'" value="' . esc_attr( $commenter['comment_author_url'] ) .
'" size="30" /></div>';
return $fields;
}
add_filter('comment_form_default_fields','placeholder_author_email_url_form_fields');
/**
* Comment Form Placeholder Comment Field
*/
function placeholder_comment_form_field($fields) {
$replace_comment = __('Your Comment', 'themename');
$fields['comment_field'] = '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'themename' ) .
'</label><textarea id="comment" name="comment" cols="45" rows="8" placeholder="'.$replace_comment.'" aria-required="true"></textarea></p>';
return $fields;
}
add_filter( 'comment_form_defaults', 'placeholder_comment_form_field' );
/* Меняет текст чекбокса GDPR */
function comment_form_change_cookies_consent( $fields ) {
$commenter = wp_get_current_commenter();
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
$fields['cookies'] = '<div class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' />' .
'<label for="wp-comment-cookies-consent">Сохранить моё имя и email в этом браузере для последующих моих комментариев.</label></div>';
return $fields;
}
add_filter( 'comment_form_default_fields', 'comment_form_change_cookies_consent' );