@trenton

В блоге wordpress кастомизация формы комментирования применилась, в woocommerce нет, как применить?

Хочу хотя бы знать, норма это или у меня что-то сбилось. По сути же и в просто вордпрессе, и в вукоммерсе это одна и та же форма комментирования?
Я нашел в интернете этот способ кастомизации. Я не знаю почему 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' );
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
vladchv
@vladchv
WordPress Developer
у них свой шаблон - single-product-reviews.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы