Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Cómo añadir campos personalizados al formulario de comentarios

Por defecto, WordPress y prácticamente todos los temas para WordPress incluyen los mismos campos en el formulario de comentarios: nombre, correo electrónico, web y mensaje. Ya vimos cómo quitar el campo de web o url de los comentarios pero ¿y si quiero añadir un campo adicional que no existe por defecto?

formulario comentarios wordpress por defecto

Son muchos los motivos por los que puedes querer añadir más campos al formulario de comentarios, y la buena noticia es que es muy fácil, y puedes conseguirlo de varias maneras…

Añadir campo personalizado al formulario de comentarios con código

Si te gustan esos pequeños fragmentos de código que hacen magia aquí tienes uno que añadirá cualquier campo adicional que necesites al formulario de comentarios de WordPress:

/* Nuevo campo personalizado en formulario de comentarios */
add_action( 'comment_form_logged_in_after', 'ayudawp_campo_personalizado_comentarios' );
add_action( 'comment_form_before_fields', 'ayudawp_campo_personalizado_comentarios' );
function ayudawp_campo_personalizado_comentarios()
{
?>
<p class="comment-form-title">
<label for="ayudawp_nombre_campo_comentarios"><?php _e( 'Teléfono' ); ?></label>
<input type="text" name="ayudawp_nombre_campo_comentarios" id="ayudawp_nombre_campo_comentarios" />
</p>
<?php
}

add_action( 'add_meta_boxes_comment', 'ayudawp_campo_personalizado_comentarios_caja_meta' );
function ayudawp_campo_personalizado_comentarios_caja_meta()
{
add_meta_box( 'ayudawp_nombre_comentario', __( 'Teléfono' ), 'ayudawp_campo_personalizado_comentarios_caja_meta_bis', 'comment', 'normal', 'high' );
}

function ayudawp_campo_personalizado_comentarios_caja_meta_bis( $comment )
{
$title = get_comment_meta( $comment->comment_ID, 'ayudawp_nombre_comentario', true );
wp_nonce_field( 'ayudawp_nombre_comentario_actualizar', 'ayudawp_nombre_comentario_actualizar', false );
?>
<p>
<label for="ayudawp_nombre_comentario"><?php _e( 'Teléfono' ); ?></label>
<input type="text" name="ayudawp_nombre_comentario" value="<?php echo esc_attr( $title ); ?>" class="widefat" />
</p>
<?php
}

add_action( 'edit_comment', 'ayudawp_editar_comentario' );
function ayudawp_editar_comentario( $comment_id )
{
if( ! isset( $_POST['ayudawp_nombre_comentario_actualizar'] ) || ! wp_verify_nonce( $_POST['ayudawp_nombre_comentario_actualizar'], 'ayudawp_nombre_comentario_actualizar' ) ) return;
if( isset( $_POST['ayudawp_nombre_comentario'] ) )
update_comment_meta( $comment_id, 'ayudawp_nombre_comentario', esc_attr( $_POST['ayudawp_nombre_comentario'] ) );
}

add_action( 'comment_post', 'ayudawp_insertar_comentario', 10, 1 );
function ayudawp_insertar_comentario( $comment_id )
{
if( isset( $_POST['ayudawp_nombre_comentario'] ) )
update_comment_meta( $comment_id, 'ayudawp_nombre_comentario', esc_attr( $_POST['ayudawp_nombre_comentario'] ) );
}

Salvo pequeños cambios de CSS que quieras realizar, ya tendrías el nuevo campo en el formulario de comentarios.

formulario comentarios estandar formulario comentarios con campo adicional

Como siempre, puedes cambiar el nombre del nuevo campo, o incluso la ubicación, en este caso antes del resto de campos (comment_form_before_fields).

Añadir campo personalizado al formulario de comentarios con plugin

Si prefieres usar un plugin para añadir nuevos campos al formulario de comentarios nada mejor que Comments Extra Fields, completo y sencillo de usar al mismo tiempo.

Incluso con la versión gratuita, puedes añadir campos personalizados infinitos de texto, selección única y desplegables, solo con arrastrar y soltar, y que se verán bien con cualquier tema que tengas activo.

nuevo campo comentarios comments extra fields plugin

A continuación personaliza el nuevo campo…

configurar nuevo campo comentarios comments extra fields plugin

Pulsa en «Add Field» para añadir el nuevo campo y, en la pantalla de campos de comentarios, haz clic en «Save Fields», pues sin este paso no se mostrará el nuevo campo aunque esté activo.

campo personalizado comentarios con plugin

Añadir campo personalizado al formulario de comentarios con el editor del sitio

Lamentablemente, a día de hoy aún no es posible personalizar el bloque del formulario de comentarios de WordPress con el editor del sitio. Puedes personalizar la visualización de los comentarios, pero ningún campo interno del formulario, ni siquiera el botón, no digamos añadir o quitar campos.

editar partes plantilla comentarios editor del sitio wordpress bloque formulario comentarios editor del sitio

Esto es una carencia importante que espero que en algún momento se subsane.

El artículo Cómo añadir campos personalizados al formulario de comentarios lo publicó Fernando Tellado previamente en Ayuda WordPress. Lo que ves aquí es una copia de dicho contenido :/

Enregistrer un commentaire

0 Commentaires