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.
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.!
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.
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.
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..
- comment_approved == '0'):?>
Tu comentario está pendiente de aprobación
Tu comentario
Sin comentarios
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 |
- comment_approved == '0'):?>
Tu comentario está pendiente de aprobación
por en aSin 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.
¿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á.
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.
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.
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.
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).
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..
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:
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:
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
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:
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:
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:
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í:
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:
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.!