• Решено Денис

    (@hochusprosit)


    add_filter('comment_form_defaults', 'change_comment_form_defaults');
    
    function change_comment_form_defaults($default) {
    $commenter = wp_get_current_commenter();
    $default['comment_notes_after'] .='
    
    <label for="site_comment">Ваш отзыв</label><br>
    <textarea id="site_comment" name="site_comment" rows="8" cols="100"></textarea>
    ';
    return $default;
    }

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

    а можно ли как то также добавить еще два произвольных текстовых поля для коммента?

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Создайте файл comments.php в своей теме и опишите свою форму. Можете скопировать из стандартной темя и доработать файл

    Автор Денис

    (@hochusprosit)

    Нет, допустим у меня есть категория товары, и к постам этой категории я хочу сделать коммент как на маркете яндекса, достоинства, недостатки, и сам коммент, а на обычных статьях выводить стандартную форму для комментирования

    function change_comment_form_defaults($default) {
    	$default['comment_notes_after'] .='
    		<label for="site_comment">Ваш отзыв</label><br>
    		<textarea id="site_comment" name="site_comment" rows="8" cols="100"></textarea>
    		';
    	return $default;
    }
    
    add_filter('comment_form_field_comment','change_comment_form_defaults');
    
    function my_update_comment_field($fields) {
    	$commenter = wp_get_current_commenter();
    	$req = get_option( 'require_name_email' );
    	$aria_req = ( $req ? "aria-required='true'" : '' );
    	$fields['author'] =
    		'<p class="comment-author-name">
    				<input
    					id="author"
    					type="text"
    					required minlength="3"
    					maxlength="30"
    					placeholder="Ваше имя "
    					name="author"
    					value="'.esc_attr( $commenter['comment_author'] ).'"
    					size="30"
    					' .$aria_req. '
    					/>
    		</p>';
    	$fields['email'] =
    		'<p class="comment-author-email">
    			<input
    				id="email"
    				type="email"
    				required
    				placeholder="Ваш Email"
    				name="email"
    				value="' . esc_attr( $commenter['comment_author_email'] ) . '"
    				size="30"
    				' .$aria_req. '
    			/>
    		</p>';
    	return $fields;
    }
    add_filter('comment_form_default_fields','my_update_comment_field');
    Автор Денис

    (@hochusprosit)

    я в кодах бум бум, немного не понятно что этот код делает? подскажите пожалуйста

    function change_comment_form_defaults($default) {
    	$default['limitations'] =
    		'<label for="shipment-limitations">
    			Недостатки
    		</label>
    		<br />
    		<textarea name="shipment-limitations" id="shipment-limitations" cols="8" rows="30"></textarea>
    		';
    	$default['dignity'] =
    		'<label for="shipment-dignity">
    			Достоинства
    		</label>
    		<br />
    		<textarea id="shipment-dignity" name="shipment-dignity" rows="8" cols="30"></textarea>
    		';
    	$default['comment_notes_after'] ='
    		<label for="site_comment">
    			Ваш отзыв
    		</label>
    		<br />
    		<textarea id="site_comment" name="site_comment" rows="8" cols="100"></textarea>
    		';
    	return $default;
    }
    
    add_filter('comment_form_field_comment','change_comment_form_defaults');

    Немного не досмотрел, вот то что вы просили. Вставляете в functions.php

    Автор Денис

    (@hochusprosit)

    я код еще не пробовал, но есть ли возможность выводить эту форму только в определенной категории? а для постов других категорий выводить стандарт?

    потому как без этого все потеряет смысл ?:)

    p.s. низкий поклон за помощь

    я код еще не пробовал, но есть ли возможность выводить эту форму только в определенной категории? а для постов других категорий выводить стандарт?

    потому как без этого все потеряет смысл ?:)

    В принципе, можно попробовать. Но для этого нужно видеть структуру вашего шаблона, можно ли там это реализовать.
    ==Удалено==
    спам
    SeVlad
    ===

Просмотр 8 ответов — с 1 по 8 (всего 8)
  • Тема «Дополнительные поля в форме комментариев» закрыта для новых ответов.