Modificar el formulario de comentarios en Storefront

Storefront utiliza la función comment_form() para mostrar el formulario de nuevo comentario y pasa sus argumentos a través del filtro 'comment_form_default_fields'.

Nivel fácil

Eliminar campos del formulario de comentarios

function my_remove_comment_fields( $args ) {
	unset( $args['author'] );  // Elimina el campo Nombre
	unset( $args['email'] );   // Elimina el campo Correo electrónico
	unset( $args['url'] );     // Elimina el campo Web
	unset( $args['cookies'] ); // Elimina el check de aceptación de cookies
	return $args;
}
add_filter( 'comment_form_default_fields', 'my_remove_comment_fields', 10, 1 );

Modificar el título del formulario

function my_custom_comments_title( $args ) {
	$args['title_reply'] = 'Déjame un comentario ❤️';
	return $args;
}
add_filter( 'storefront_comment_form_args', 'my_custom_comments_title', 10, 1 );

Modificar el texto del botón

function my_custom_comments_button_label( $args ) {
	$args['label_submit'] = 'Comentar 📣';
	return $args;
}
add_filter( 'storefront_comment_form_args', 'my_custom_comments_button_label', 10, 1 );

Nivel medio

Añadir elementos y modificar el campo comentario

function my_change_html_comment_fields( $args ) {
	$args['comment_notes_before'] = '<p class="comment-notes">Aquí puedes poner el HTML que quieras y quedará encima del campo <em>comentario</em>.<br>Ten en cuenta que solamente aparece cuando el usuario <strong>no está logueado</strong> y no está marcada la opción <cite>"Los usuarios deben registrarse y acceder para comentar"</cite> en los ajustes de comentarios de WordPress</p>';
	$args['must_log_in']          = '<p class="must-log-in">Puedes poner aquí un texto para reemplazar el que aparece por defecto cuando seleccionas la opción <cite>"Los usuarios deben registrarse y acceder para comentar"</cite> en los ajustes de comentarios de WordPress</p>';
	$args['logged_in_as']         = '<p class="logged-in-as">Puedes poner aquí un texto para reemplazar el que aparece por defecto cuando el usuario está logueado</p>';
	$args['comment_field']        = '<p class="comment-form-comment"><label for="comment">Comentario</label><textarea id="comment" name="comment" placeholder="Escribe aquí tu comentario" cols="45" rows="8" maxlength="65525" required="required"></textarea></p>';
	$args['comment_notes_after']  = '<p class="comment-notes">Aquí puedes poner el HTML que quieras y quedará debajo del campo <em>comentario</em></p>';
	return $args;
}
add_filter( 'storefront_comment_form_args', 'my_change_html_comment_fields', 10, 1 );

Nivel avanzado

Modificar los atributos por defecto del formulario

function my_custom_comments_form( $args ) {
	$args['action'];        // El atributo action del formulario. Por defecto '/wp-comments-post.php'.
	$args['id_form'];       // El atributo id del formulario. Por defecto 'commentform'.
	$args['id_submit'];     // El atributo id del botón. Por defecto 'submit'.
	$args['class_form'];    // El atributo class del formulario. Por defecto 'comment-form'.
	$args['class_submit'];  // El atributo class del botón. Por defecto 'submit'.
	$args['name_submit'];   // El atributo name del botón. Por defecto 'submit'.
	$args['submit_button']; // El formato HTML del botón. Por defecto '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />'.
	$args['submit_field'];  // El formato HTML del elemento padre del botón incluyendo los campos ocultos. Por defecto '<p class="form-submit">%1$s %2$s</p>' donde %1$s es el botón y %2$s los campos ocultos.
	$args['format'];        // El formato del formulario. Por defecto 'xhtml' pero puede cambiarse a 'html5' para obtener etiquetas semánticas.
	return $args;
}
add_filter( 'storefront_comment_form_args', 'my_custom_comments_form', 10, 1 );