Crear un theme para WordPress III Publicada el Jueves 30 de Noviembre de 2006 a las 4:29 am por Infected-FX
comments.php
Llegamos a otra de las partes importantes del blog, que son los comentarios, ¿que sería un blog sin comentarios?... bueno, en realidad es a gusto de cada quién, pero vamos a empezar con esto.
Creamos otro archivo y lo llamamos comments.php, como les decía en la página anterior, este archivo es el que contendrá el formulario para publicar comentarios así como la lista de todos los comentarios que dejen en la entrada.
De entrada ponemos esto que pide WordPress por default.
-
<?php // Do not delete these lines
-
-
if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) { // and it doesn't match the cookie
-
?>
-
-
<p class="nocomments">Este post está protegido, ingresa la contraseña para ver el resto.<p>
-
<?php
-
return;
-
}
-
}
-
-
-
$oddcomment = 'alt';
-
?>
Vemos que incluimos la variable para alternar el fondo de los comentarios que es $oddcomment y lo que corresponde a alt es la clase que le asignamos.
Password form
En dado caso de que protegiéramos algún post con contraseña, que lo pueden hacer desde su panel de publicación les aparecería un formulario como este:

Si desean customizarla, añadiéndole estilos ó cambiándole alguna cosa, pueden encontrarlo en las primeras líneas del archivo wp-includes/template-functions-post.php
Lista de comentarios
Comenzamos con el listado de comentarios y le pondremos un título que saldrá arriba de todo el listado haciendo referencia a el número de comentarios que han sido publicados.
-
<?php if ($comments) : ?>
-
<h3 id="comments">
-
<?php comments_number('No hay comentarios :(', 'Un comentario :)', '% comentarios ñ_ñ' );?>
-
</h3>
Nuestro listado de comentarios lo manejaremos con una ordered list (ol) con el ID commentlist y abrimos lo que sería el "loop" de los comentarios.
-
<ol class="commentlist">
-
<?php foreach ($comments as $comment) : ?>[php]
-
-
Ahora si seguimos con lo que será el comentario, desde el autor, la fecha de publicación y todos los detalles así como el texto.
-
-
[php]<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>"> <cite>
-
<?php comment_author_link() ?>
-
</cite>
-
<?php if ($comment->comment_approved == '0') : ?>
-
<em>Tu comentario será moderado.</em>
-
<?php endif; ?>
-
<br />
-
<small class="commentmetadata"> <a href="#comment-<?php comment_ID() ?>" title="">
-
<?php comment_date('F jS, Y') ?>
-
a las
-
<?php comment_time() ?>
-
</a>
-
<?php edit_comment_link('e','',''); ?>
-
</small>
-
<?php comment_text() ?>
-
</li>

Esa sería una muestra de como quedaría un comentario, el texto que se refiere a "Tu comentario espera ser moderado" se dá cuando el administrador del sitio activa la opción de que es necesario moderar cada uno de los comentarios, el usuario que lo publicó podrá verlo, pero hasta que el administrador ó la persona que tenga permisos lo publique lo podrán ver todos los demás.
Cerrando loop y listado
Por último ponemos el código que agregará la clase alt, que definimos al principio para poder alternar el fondo de cada comentario y cerraremos lo que corresponde al loop y al listado de comentarios poniendo lo siguiente:
-
<?php
-
if ('alt' == $oddcomment) $oddcomment = '';
-
else $oddcomment = 'alt';
-
?>
-
<?php endforeach; ?>
-
</ol>

v4s1l1
Noviembre 30, 2006 a las 10:30 am
Muy buen tutorial! Esta todo muy bien explicado. Queria hacer mi propio theme para WP desde hace tiempo pero todos los tutoriales que encontraba no terminaban de quedarme claros, pero este me esta ayudando muchisimo. Muchas gracias.
Saludos
Ed
Noviembre 30, 2006 a las 11:42 am
Hola.
Como siempre muy buena la explicacion. Ya lo tengo impreso para leerlo con calma. Por cierto, visitando el sitio stylecrunch vi un sistema de votos (ese con estrellas). Cuando nos ayudaras creando un tuto para esa tecnica?.
Saludos.
Eden
Noviembre 30, 2006 a las 2:31 pm
el maestro de WP!!!
si señor bro me sigues sorprendiendo ^^!
mil gracias :):):)
Infected-FX
Diciembre 4, 2006 a las 4:01 am
v4s1l1: muchas gracias, hace tiempo había puesto unos enlaces a tutoriales de como crear un theme para WP, pero me pareció bien crear un recurso más y al parecer está funcionando, comentarios como el tuyo que me hacen saber que se entiende son muy buenas referencias.
Ed: También gracias por tu comentario y hacerme saber que está bien explicado, sobre el sistema de estrellas es un plugin llamado WP-PostRatings muy útil.
Edén: Brother, un abrazo como siempre que gusto leerte… espero no dejar de hacerlo.
Fede777
Agosto 5, 2007 a las 8:20 pm
Como va? uso el theme innofire y queria saber como hacer para cambiar la forma de los comentarios que trae por defecto a una en la que pueda comentar cualquiera sin registracion/loggeo y que le pida el nombre, mail, sitio y el comentario por supuesto.
Y tal vez es mucho pedir pero se puede hacer que el espacio del comentario use el jquery de bbcode???
Por ultimo queria preguntar si me puedo comunicar con vos, es que recien empiezo y tengo muchas dudas :p
Infected-FX
Agosto 5, 2007 a las 9:50 pm
@fede777 Eso lo cambias en tu administrador, en la pestaña de Options » General en la pantalla verás la opción de “Users must be registered and logged in to comment” desactiva la casilla y listo.
No entiendo el porqué usar jQuery en el bbCode si estamos usando el mismo que utiliza WordPress creo que la comptaibilidad es mucho mayor que si hacemos un relajo con jQuery, a menos que ya exista uno. xP Pero me quedo con el normal para no hacer mezclas de librerías.
Fede777
Agosto 6, 2007 a las 6:51 am
Muchas gracias por responder. Ya la pude sacar el loggeo, y puse un plugin wysiwyg para el campo de comentarios.
Tambien agregue el plugin de share-it/compartelo pero al activarlo me queda la barra de search siempre abierta y no se como hacer para que funcione como antes.
Promisaff
Octubre 12, 2007 a las 3:58 pm
view