En la cuarta parte de la serie, revisamos el tercer lote de etiquetas de plantilla de WordPress. En esta quinta parte, vamos a ver el cuarto lote de las casi 200 etiquetas de plantilla. A lo largo del tutorial, volveremos a ver etiquetas de plantilla sobre comentarios, al igual que el lote anterior.
Cómo obtener y mostrar un enlace a la sección «Comentarios»: get_comments_link()
y comments_link()
Estas etiquetas de plantilla devuelven y muestran el enlace a la sección «Comentarios» de la entrada.
Parámetros
comments_link()
no acepta ningún parámetro, pero get_comments_link()
acepta uno:
$post_ID
(opcional, entero u objeto): El ID del post. (Predeterminado: Post actual)
Uso
1 2 3 4 5 |
<?php comments_link(); ?> |
Cómo obtener y mostrar la lista de comentarios: wp_list_comments()
Esta popular etiqueta de plantilla enumera los comentarios que han sido enviados a una entrada.
Parámetros
Esta etiqueta de plantilla acepta dos parámetros:
$args
(opcional, matriz): Matriz de los argumentos siguientes:- ‘
walker'
(objeto): Instancia de una clase Walker para enumerar comentarios. (Predeterminado:NULL
) 'max_depth'
(entero): La profundidad máxima de los comentarios. (Predeterminado: Vacío)'style'
(cadena): El estilo de orden de lista (‘ul’ o ‘ol’). (Predeterminado: ‘ul’)'callback'
(cadena): Función de devolución de llamada que se va a utilizar. (Predeterminado:NULL
)'end-callback'
(cadena): Función de devolución de llamada que se usará al final. (Predeterminado:NULL
)'type'
(cadena): Tipo de comentarios a enumerar (‘all’, ‘comment’, ‘pingback’, ‘trackback’ o ‘pings’). (Predeterminado: ‘all’)'page'
(entero): ID de página para el que enumerar los comentarios. (Predeterminado: Vacío)'per_page'
(entero): Número de comentarios que se pueden enumerar por página. (Predeterminado: Vacío)'avatar_size'
(entero): Dimensiones de las imágenes de avatar. (Predeterminado: 32)'reverse_top_level'
(cadena): Ordenación de los comentarios enumerados (‘desc’ o ‘asc’). (Predeterminado:NULL
)'reverse_children'
(booleano): Si deseas invertir los comentarios secundarios en la lista. (Predeterminado: Vacío)'format'
(cadena): Cómo formatear la lista de comentarios. (Predeterminado: ‘html5’ si el tema admite el marcado HTML5, de lo contrario ‘xhtml’)'short_ping'
(booleano): Si se da salida a los pings cortos. (Predeterminado:FALSE
)'echo'
(booleano): Si deseas hacer eco de la salida (TRUE
) o devolverla (FALSE
). (Predeterminado:TRUE
)
- ‘
$comments
(opcional, matriz): Matriz de objetos de comentario.(Predeterminado: Todos los comentarios del post actual)
Uso
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $args = array( // Usa una lista ordenada para los comentarios. 'style' => 'ol', // Obtén solo los comentarios. 'type' => 'comments', // Cantidad personalizada de comentarios por página. 'per_page' => 15, // Reduce el tamaño del avatar. 'avatar_size' => 16, // Fuerza el uso de marcado HTML5. 'format' => 'html5', // Devuelve la salida en lugar de hacer echo de ella. 'echo' => 0 ); $comments_list = wp_list_comments( $args ); ?> |
Cómo obtener y mostrar el número de comentarios: get_comments_number()
y comments_number()
Estas etiquetas de plantilla obtienen y muestran cuántos comentarios se publican en el post.
Parámetros
get_comments_number()
solo acepta un parámetro:
$post_ID
(opcional, entero u objeto):El ID del post.(Predeterminado: Post actual)
Y comments_number()
acepta tres parámetros:
$zero
(opcional, cadena):Texto a mostrar si no hay comentarios.(Predeterminado: ‘Sin comentarios’)$one
(opcional, cadena):Texto a mostrar si solo hay un comentario.(Predeterminado: ‘1 Comentario’)$more
(opcional, cadena):Texto a mostrar si hay más de un comentario.(Predeterminado: ‘% Comentarios’)
Uso
1 2 3 4 5 6 7 8 9 |
<?php // Muestra la cantidad de comentarios de un post concreto. comments_number( 11 ); // Muestra la cantidad de comentarios del actual post. $comments_num = get_comments_number( '0', '1', '%' ); ?> |
Cómo obtener y mostrar clases automáticas para cada comentario: get_comment_class()
y comment_class()
Estas etiquetas de plantilla te permiten añadir clases semánticas generadas en donde quieras en el bucle de comentarios.
Parámetros
get_comment_class()
acepta tres parámetros:
$class
(opcional, cadena o matriz):Nombres de clase adicionales para añadir.(Predeterminado: Vacío)$comment_ID
(opcional, entero):El ID del comentario con el que trabajar.(Predeterminado: ID del comentario actual)$post_ID
(opcional, entero u objeto):El ID del post.(Predeterminado: Post actual)
Y comment_class()
acepta cuatro parámetros:
$class
(opcional, cadena o matriz): Nombres de clase adicionales a añadir. (Predeterminado: Vacío)$comment_ID
(opcional, entero): El ID del comentario con el que trabajar.(Predeterminado: ID del comentario actual)$post_ID
(opcional, entero u objeto): El ID del post.(Predeterminado: Post actual)$echo
(opcional, booleano): Si hacer echo (TRUE
) o devolver (FALSE
) la etiqueta. (Predeterminado:TRUE
)
Uso
1 2 3 4 5 6 7 8 9 |
<?php // Muestra las clases del comentario con una clase extra. comment_class( 'mytheme-comment' ); // Devuelve un comentario concreto de un post específico. $special_comment_classes = get_comment_class( '', 225, 98 ); ?> |
Mostrar el formulario de comentarios: comment_form()
Esta etiqueta de plantilla muestra todo el formulario de comentarios.
Parámetros
Esta etiqueta de plantilla acepta dos parámetros:
$args
(opcional, matriz):Matriz de los argumentos siguientes:'fields'
(array): Una matriz asociativa de códigos HTML de campos de comentario predeterminados (‘autor’, ‘email’ y ‘url’).(Predeterminado: Los tres)'comment_field'
(cadena): Código HTML para el elementoTEXTAREA
del comentario.'must_log_in'
(cadena): Código HTML para el mensaje «debes iniciar sesión para comentar».'logged_in_as'
(cadena): Código HTML para el mensaje «Sesión iniciada como…». (Utiliza%1$s
para la dirección URL del perfil,%2$s
para el nombre de usuario y%3$s
para la dirección URL de cierre de sesión.)'comment_notes_before'
(cadena): Código HTML para las notas mostradas antes del formulario de comentario.'comment_notes_after'
(cadena): Código HTML para las notas que se muestran después del formulario de comentario.'id_form'
(cadena): El identificador del elementoFORM
del formulario de comentario.'id_submit'
(cadena): El ID del botón de envío.'name_submit'
(cadena): El parámetroNAME
del botón de envío.'title_reply'
(cadena): Etiqueta para el botón «Deja una respuesta».'title_reply_to'
(cadena): Etiqueta para el botón «Dejar una respuesta a %s».'cancel_reply_link'
(cadena): Texto del enlace «Cancelar respuesta».'label_submit'
(cadena): Etiqueta para el botón «Publicar comentario».'format'
(cadena): El formato del formulario de comentario (‘xhtml’ o ‘html5’, el valor predeterminado es ‘xhtml’).
$post_ID
(opcional, entero u objeto): El ID del post.(Predeterminado: Post actual)
Uso
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $args = array( 'fields' => array( 'author', 'email' ), 'must_log_in' => __( 'Debes iniciar sesión para poder comentar', 'translation-domain' ), 'label_submit' => __( 'Shoot It', 'translation-domain' ), 'format' => 'html5' ); comment_form( $args ); ?> |
Mostrar un título para el formulario de comentario: comment_form_title()
Esta etiqueta de plantilla se hace eco de un título dinámico para el formulario de comentario.
Parámetros
Esta etiqueta de plantilla acepta tres parámetros:
$noreplytext
(opcional, cadena): Texto del enlace si no es un enlace de «responder al comentario». (Predeterminado: ‘Dejar una respuesta’)$replytext
(opcional, cadena): Texto del enlace si se trata de un enlace de «responder al comentario». (Predeterminado: ‘Dejar una respuesta a %s’)$linktoparent
(opcional, booleano): Si vincular el nombre del comentarista a su comentario o no. (Predeterminado:TRUE
)
Uso
1 2 3 4 5 |
<?php comment_form_title( __( 'Escribe tu respuesta', 'translation-domain' ), __( 'Talk Back to', 'translation-domain') . ' %s', false ); ?> |
Cómo mostrar el enlace «Responder al comentario»: get_comment_reply_link()
y comment_reply_link()
Estas etiquetas de plantilla te permiten devolver o mostrar un enlace de respuesta para el comentario dado.
Parámetros
Ambas etiquetas de plantilla aceptan tres parámetros:
$args
(opcional, matriz):Matriz de los argumentos siguientes:'add_below'
(cadena): La primera parte del selector utilizado para identificar el comentario que se va a responder a continuación. El valor resultante se pasa como el primer parámetro a addComment.moveForm(), concatenado como $add_below-$comment->comment_ID.(Predeterminado: ‘comment’)'respond_id'
(cadena): Selector que identifica el comentario de respuesta. Se pasa como tercer parámetro a addComment.moveForm() y se anexa a la dirección URL del enlace como un valor hash.(Predeterminado: ‘respond’)'reply_text'
(cadena): Texto del enlace ‘Responder’.(Predeterminado: ‘Responder’)'login_text'
(cadena): Texto del enlace para responder si se ha cerrado la sesión.(Predeterminado: ‘Iniciar sesión para responder’)'depth'
(entero): Profundidad del nuevo comentario: debe ser mayor que 0 y menor que el valor de la opción ‘thread_comments_depth’ establecido en Ajustes > Comentarios.(Predeterminado: 0)'before'
(cadena): Código HTML a añadir antes de la salida.(Predeterminado: Vacío)'after'
(cadena): Código HTML a añadir después de la salida.(Predeterminado: Vacío)
$comment_ID
(opcional, entero):El ID del comentario con el que trabajar.(Predeterminado: ID del comentario actual)$post_ID
(opcional, entero u objeto):El ID del post.(Predeterminado: Post actual)
Uso
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php // Display the link with default configuration. comment_reply_link(); // Get the link with some customization. $args = array( 'reply_text' => __( 'Shout Back', 'translation-domain' ), 'login_text' => __( 'Log in to Shout Back', 'translation-domain' ), 'after' => '<hr class="comment-reply-after" />' ); $comment_reply_link = get_comment_reply_link( $args ); ?> |
Lo que te queda por leer:
Deja una respuesta