Desentrañar los secretos del archivo Comments.php de WordPress

WordPress parece estar en todas partes en estos días, y no es de extrañar que sea fácil de usar y personalice. En este tutorial, analizaré la estructura de comments.php del tema de WordPress predeterminado y te daré varios fragmentos de código para facilitar la creación de aspectos..

Para su referencia, también he incluido una pequeña tabla de contenidos.

  1. El backend de PHP
  2. Codigo general
    1. Evitando el acceso directo a comments.php
    2. Es necesaria una contraseña?
  3. Mostrando los comentarios
    1. Etiquetas de plantillas de comentarios básicos
    2. El resultado final
  4. El formulario de comentarios
    1. Resumen de la declaración condicional
    2. Insertando el formulario
  5. Algunos pequeños trucos
    1. Gravatars
    2. Números de comentarios
    3. Enlaces de comentarios
    4. Editando comentarios
    5. Colores alternos para comentarios.
    6. Viendo las etiquetas permitidas
    7. Comentarios RSS enlace
  6. Conclusión

1. El Backend PHP

  post_password)):?> post_password):?>     comment_approved == '0'):?>              

Este es el código PHP en bruto que hace que su archivo comments.php funcione. Para un novato, esto podría parecer intimidante. Sin embargo, no se preocupe: con este tutorial, todo en su archivo de comentarios se volverá claro.!


2. Código general

Evitando el acceso directo a comments.php

 

Esta línea de código evita que los usuarios vean comments.php por accidente. Esta página debe incluirse en una página de publicación, no por separado. Usted podría considerar esto como una medida de seguridad. Dentro de la declaración, puede insertar cualquier mensaje que desee que se muestre a la persona que está viendo el archivo comments.php, preferiblemente un morir declaración.

  

Es necesaria una contraseña?

post_password)):?> post_password):?>  

Esta declaración (bueno, 2 en realidad, pero tiene más sentido si las ve como una) comprueba si se requiere una contraseña para ver la publicación. Obviamente, si no tiene la contraseña para ver la publicación, tampoco puede ver los comentarios.

El primero Si comprueba si hay una contraseña establecida. El segundo Si la declaración verifica si hay una cookie con una contraseña en su lugar y muestra el mensaje correspondiente cuando no está allí. Puede personalizar el mensaje de error colocando lo que elija dentro del segundo Si declaración.


3. Viendo los comentarios

  comment_approved == '0'):?>    

Esta primera declaración condicional (si ($ comentarios)) verifica si hay comentarios y luego los recorre con un para cada declaración. Dentro de para cada declaración, te darás cuenta de la siguiente declaración condicional: if ($ comment-> comment_approved == '0'). Esto comprueba si el comentario ha sido aprobado, y muestra un mensaje si aún no ha sido aprobado.

Un ejemplo de esto sería el siguiente fragmento de código..

 
  1. comment_approved == '0'):?>

    Tu comentario está pendiente de aprobación

    Tu comentario

Sin comentarios

Etiquetas de plantillas de comentarios básicos

Para que esto sea una pieza funcional de código, deberá usar las etiquetas de plantilla que WordPress proporciona.

Etiqueta de plantilla Descripción
la identificación de un comentario
el autor de un comentario
el autor de un comentario, envuelto con un enlace a su sitio web si especificaba uno
el tipo de comentario; pingback, trackback o un comentario
el comentario real
la fecha en que fue publicado
la hora en que fue publicado

El resultado final

 
  1. comment_approved == '0'):?>

    Tu comentario está pendiente de aprobación

    por en a

Sin comentarios aún

Insertar esto en comments.php le daría una lista ordenada con los comentarios y la información requerida o mostraría un mensaje indicando que no hay comentarios.


4. El formulario de comentarios

¿Todavía me sigues? ¡Bueno! Casi estámos allí. Solo necesitamos procesar ese formulario de comentarios ... Bueno, tal vez mentí sobre casi estar allí. El formulario de comentarios es en realidad una de las partes más difíciles de todo el archivo de skin de comments.php.

Serás bombardeado con varias declaraciones condicionales (se requiere un inicio de sesión, ¿has iniciado sesión, ...). En esta parte es donde la mayoría de los skinners iniciales tienen más problemas: si se extravían los elementos de la forma se podría evitar que la forma funcione en absoluto, sin dar un error específico de PHP.

Para darle una idea de las declaraciones condicionales que están involucradas en el formulario de comentarios, primero explicaré esas declaraciones e incluiré el HTML más adelante explicando por qué debería estar donde está.

Resumen de la declaración condicional

        

La primera declaración condicional que encuentras es . Básicamente esto verifica si los comentarios están abiertos. Obviamente, si los comentarios están cerrados, no puede publicar un comentario y el formulario de comentarios no es necesario. Puede poner el mensaje que desea que se muestre si los comentarios están cerrados entre el último y
.

La segunda declaración condicional () comprueba si necesita estar registrado para publicar un comentario y si ha iniciado sesión. Si se cumple la declaración condicional, la secuencia de comandos debe mostrar un enlace a un lugar donde los usuarios pueden iniciar sesión. Si no es necesario registrarse o si ya está iniciado sesión, el script continuará con la más parte y muestra el formulario.

Nuestra declaración condicional final luego verifica si has iniciado sesión o no. Obviamente, si ya ha iniciado sesión, es inútil hacerle completar su nombre, correo electrónico y sitio web nuevamente.

Insertando el formulario

Felicitaciones, hemos revisado todas las declaraciones condicionales en el archivo comments.php. Ahora, todo lo que queda es agregar el formulario allí.

Lo primero que puedo oir que piensas es: ¿dónde demonios va a comenzar esa forma? Bueno, solo hay que seguir el sentido común. La segunda declaración condicional comprueba si tiene que haber iniciado sesión o no, por lo tanto, no tendría que mostrar ningún formulario hasta después de esta declaración. Por lo tanto, el formulario completo se encuentra dentro de esta declaración condicional..

   

Debes ser /wp-login.php?redirect_to="> inicie sesión para publicar un comentario.

Los comentarios estan cerrados.

También he incluido el enlace a la página de inicio de sesión, tal como lo encontré en el valor predeterminado comments.php. Como dije antes, la última declaración condicional comprueba si estás conectado o no. Obviamente, los campos de entrada de nombre, correo electrónico y sitio web solo se muestran si no estás conectado. Vamos a incluirlos allí!

   

Debes ser /wp-login.php?redirect_to="> inicie sesión para publicar un comentario.

Inicie sesión como /wp-admin/profile.php ">. /wp-login.php?action=logout "title =" Cerrar sesión de esta cuenta "> Cerrar sesión»

Los comentarios estan cerrados.

¡Bien! ¡Casi estámos allí! Solo necesitamos agregar algunas líneas de código simples, como un área de texto y un botón de envío. Estos van después de la última declaración condicional, ya que es irrelevante para estos elementos si está conectado o no.

  

Debes ser /wp-login.php?redirect_to="> inicie sesión para publicar un comentario.

Inicie sesión como /wp-admin/profile.php ">. /wp-login.php?action=logout "title =" Cerrar sesión de esta cuenta "> Cerrar sesión»

CARNÉ DE IDENTIDAD); ?>

Los comentarios estan cerrados.

Este código debe ser bastante autoexplicativo. Un campo de área de texto para el comentario, un botón de envío, un campo de entrada oculto con la ID futura del comentario y un fragmento de código PHP (CARNÉ DE IDENTIDAD); ?>) WordPress requiere hacer la función de formulario de comentarios.

Voila! ¡Eso es todo amigos! Ahora tienes tu archivo comments.php completamente listo. Vea este archivo para obtener todo el código PHP y HTML que se requiere. Deberías terminar con esto (simplemente reemplacé el archivo comments.php del skin predeterminado con el nuestro y le agregué un estilo menor).


5. Algunos pequeños trucos

Por supuesto, ahora solo tienes un archivo comments.php básico. Hay toneladas de cosas que podrías hacer para mejorarla aún más. Enumeraré algunos pequeños consejos y trucos para ayudarte en tu camino..

Gravatars

A partir de WordPress 2.5, hay una etiqueta de plantilla de WordPress personalizada para incrustar gravatars. Extrae el gravatar del correo electrónico que ingresó el visitante. El código para hacer esto es muy simple..

Puedes reemplazar $ author_email con el ingenioso get_comment_author_email (); función, $ talla es la altura (y ancho) del avatar y $ default_avatar es un enlace a la imagen de avatar predeterminada (se muestra cuando el comentarista no tiene gravatar).

Inserte este código dentro de la para cada Bucle que muestra los comentarios. La salida es una imagen con las clases. avatar y avatar- tamaño (dónde $ talla es el tamaño que especificaste). Con un poco de edición de CSS, podrías terminar con algo como esto:

Números de comentarios

A propósito omití los encabezados en el archivo comments.php que creamos más tarde, ya que creía que producirían un código de exceso en un proceso de aprendizaje que ya es bastante difícil. Obviamente, no los olvido..

Normalmente, las personas tienen un encabezado que muestra algo similar a "3 comentarios hasta ahora". Esto es realmente fácil de lograr gracias a las etiquetas de plantilla que ofrece WordPress..

 

Es bastante autoexplicativo: $ cero_comentarios Es el texto a mostrar cuando no hay comentarios., $ one_comment cuando hay un comentario y $ más_comentarios Cuando hay múltiples comentarios. Un ejemplo de la vida real sería así:

 

solía % para múltiples comentarios, desde la número de comentarios la función entonces reemplaza al % con el número de comentarios (2, 3,…)

Utilizado en nuestro archivo comments.php, terminarás con algo como esto:

Enlaces de comentarios

Para mostrar un enlace a la parte de comentarios (con la cantidad de comentarios que también se muestran), simplemente use el siguiente código.

 

Los primeros 3 parámetros en esta función son los mismos que los anteriores número de comentarios función. $ css_class Es, obviamente, la clase css que le das a la etiqueta y $ comentarios_cerrados es el texto que se debe mostrar cuando se cierran los comentarios. Al aplicar esto a un tema, esta es una forma posible de usarlo.

 

Esto le daría un enlace con la clase. enlace de comentarios

Editando comentarios

A veces querrás editar inmediatamente un comentario. Afortunadamente, con la función edit_comment_link, puede ir fácilmente a la página correcta para editarla, en lugar de tener que buscar en su panel de administración para llegar a ese comentario. El uso es como tal:

 

Tienes que poner esto dentro de la para cada bucle de comentarios. Los parámetros son bastante obvios: $ link_text es el texto de anclaje para el enlace de edición, $ before_link y $ after_link respectivamente son el texto o el código que se muestra antes o después del enlace.

Esto realmente hace que sea fácil cambiar un comentario; simplemente puede agregar un pequeño enlace 'Editar' a la meta información de su comentario (solo lo puede ver el administrador). Esto es lo que podría parecer:

Colores alternos para comentarios.

Es posible que desee tener colores de fila alternos para sus comentarios, para hacer una separación más clara. Hacer esto es relativamente fácil. Primero, agregue el siguiente código a la parte superior de la página:

función alternate_rows ($ i) 
si ($ i% 2)
eco '';
else
eco";

Luego agrega lo siguiente dentro de para cada bucle (de nuevo). Usted podría simplemente reemplazar

  • con este:

     >

    Esto le dará a cada otro comentario la clase. alt, De este modo, es posible cambiar su apariencia a través de CSS..

    Decidí hacer una función para ello, para tener menos desorden en su archivo de tema real. Podría agregar la definición de la función a su archivo functions.php si lo desea, pero para mí tiene más sentido tenerla en la parte superior de su página..

    Las filas alternas hacen que sea más fácil distinguir diferentes comentarios; una vez implementado puede tener algo como esto:

    Viendo las etiquetas permitidas

    Para mostrar el código que los visitantes pueden usar en sus comentarios, simplemente use este pequeño fragmento de código.

    Etiquetas permitidas: 

    Luego, simplemente obtendrá una lista de las etiquetas permitidas en sus comentarios, como esta:

    Comentarios RSS enlace

    Para obtener un enlace a la fuente RSS para los comentarios de una determinada publicación, simplemente inserte el código a continuación en su archivo comments.php en el lugar donde desea que esté.

    Entonces simplemente reemplace $ link_test con el texto de anclaje para el enlace RSS.

    Esto puede ser útil si desea dar a sus visitantes la oportunidad de suscribirse a la fuente de comentarios para un artículo específico o publicación de blog. Podrías implementarlo así:

    6. Conclusión

    Espero que hayas disfrutado de este * ahem * pequeño artículo sobre cómo desollar tu archivo WordPress comments.php. Puedes obtener el código completo aquí, con los trucos que mostré incluidos:

    • gravatares,
    • colores alternos de fila,
    • editar enlace,
    • comentarios enlace rss.

    Obviamente, el enlace de comentarios no está incluido ya que debe usarse dentro del bucle.

    La mejor de las suertes en tus aventuras de WordPress.!