Estoy usando un filtro personalizado para cambiar los campos, pero no puedo entender cómo cambiar el orden de los campos en el formulario de comentarios.
Orden deseada:
- campo de comentarios (primero / arriba)
- nombre
- correo electrónico
- sitio web
Este es el código que estoy usando actualmente:
function alter_comment_form_fields($fields){
$fields['comments'] = 'Test';
$fields['author'] = '<p class="comment-form-author">' . '<label for="author">' . __( 'Your name, please' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" placeholder="John Smith" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>';
$fields['email'] = 'next'; //removes email field
//$fields['url'] = ''; //removes website field
return $fields;
}
add_filter('comment_form_default_fields','alter_comment_form_fields');
comments
templates
comment-form
jrutter
fuente
fuente
comment_form_top
.comment_form_before_fields
es mejor enganchar quecomment_form_top
Me gustó la respuesta de toscho. Sin embargo, quería usar un área de texto personalizada, por lo que no funcionó en ese caso. Usé los mismos ganchos pero con funciones separadas:
fuente
Obviamente, hay varias formas de lograr esto. Por ejemplo, para mover el campo de comentarios al final del formulario, usaría un código como este:
Si desea reorganizar todos los campos, desarme todos los campos. Vuelva a colocarlos en la matriz en el orden en que desea que se muestren. Simple derecho?
Pensé que lo explicaría explícitamente para el próximo novato como yo para encontrar esta página y no encontrar las respuestas útiles.
fuente
El CSS exacto para hacer esto dependerá de su tema, sin embargo, aquí hay una manera:
Los métodos de visualización de la tabla le permiten reordenar cosas de altura arbitraria.
Más información: http://tanalin.com/en/articles/css-block-order/
fuente
#commentform { display: flex; flex-flow: column; }
.comment-form-comment { order: -1; }
.Los campos del formulario de comentarios están en la matriz
$fields
en funcióncomment_form()
. Puede enganchar dentro del filtrocomment_form_default_fields
y reordenar la matriz.También puede enganchar dentro del filtro
comment_form_defaults
y cambiar los valores predeterminados; deje todos los datos en la matriz y cambie solofield
la matriz con sus campos personalizados; incluye el html.el valor predeterminado si $ fields:
fuente