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 );