Crear un theme para WordPress III

30 / noviembre / 2006

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:
  1. <?php // Do not delete these lines
  2.     if ('comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
  3.         die ('Please do not load this page directly. Thanks!');
  4.  
  5.         if (!empty($post->post_password)) { // if there's a password
  6.             if ($_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) {  // and it doesn't match the cookie
  7.                 ?>
  8.  
  9. <p class="nocomments">Este post est&aacute; protegido, ingresa la contrase&ntilde;a para ver el resto.<p>
  10.   <?php
  11.                 return;
  12.             }
  13.         }
  14.  
  15.         /* Esta variable es para alternar el fondo de los comentarios */
  16.         $oddcomment = 'alt';
  17. ?>

 

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:

Password Form

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:
  1. <?php if ($comments) : ?>
  2.     <h3 id="comments">
  3.     <?php comments_number('No hay comentarios :( ', 'Un comentario :) ', '% comentarios &ntilde;_&ntilde;' );?>
  4.     </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.

PHP:
  1. <ol class="commentlist">
  2. <?php foreach ($comments as $comment) : ?>[php]&nbsp;
  3.  
  4. 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.
  5.  
  6. [php]<li class="<?php echo $oddcomment; ?>" id="comment-<?php comment_ID() ?>"> <cite>
  7.   <?php comment_author_link() ?>
  8.   </cite>
  9.   <?php if ($comment->comment_approved == '0') : ?>
  10.   <em>Tu comentario ser&aacute; moderado.</em>
  11.   <?php endif; ?>
  12.   <br />
  13.   <small class="commentmetadata"> <a href="#comment-<?php comment_ID() ?>" title="">
  14.   <?php comment_date('F jS, Y') ?>
  15.   a las
  16.   <?php comment_time() ?>
  17.   </a>
  18.   <?php edit_comment_link('e','',''); ?>
  19.   </small>
  20.   <?php comment_text() ?>
  21. </li>

 

Comment test

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:
  1. <?php /* Agrega la clase alt a un comentario si y otro no */
  2.         if ('alt' == $oddcomment) $oddcomment = '';
  3.         else $oddcomment = 'alt';
  4.     ?>
  5.   <?php endforeach; /* end for each comment */ ?>
  6. </ol>

 

Páginas: 1 2 3 4 5 6 7 8 9

+

10 comentarios para Crear un theme para WordPress III

  1. 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

  2. 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.

  3. el maestro de WP!!!
    si señor bro me sigues sorprendiendo ^^!
    mil gracias :) :):)

  4. 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.

  5. 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

  6. @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.

  7. 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.

  8. Promisaff 12 oct 2007

    view

  9. Excellente tuto en verdad me esta ayudando mucho, estoy realizando mi primer theme para wordpress, por que no me quize quedar con las ganas de tener uno diseñado por mi.

  10. oye amigo me gusto mucho tu theme :D y muy bueno el post

ShowTracksTrackbacks/Pings

  1. [...] serie de Tutoriales creados por InfectedFx que consta de 4 partes: I, II, III, [...]

  2. [...] pero el realizado por InfectedFX es el mejorcito; y se divide en 4 partes: Parte I, Parte II, Parte III yParte IV. En sus partes hablan de bastantes cosas muy interesantes que muchos no conocen del mundo [...]

  3. Blog and Web dice: 3

    Recursos para diseñar un tema para WordPress…

    Diseñar un tema para WordPress no demanda conocer css y html solamente, sino tener una noción sobre el funcionamiento de los temas, la estructura de archivos, los scripts globales, script externos, etc. Pero para ayudarnos en esta tarea ya existen un…

Agrega tu opinión Invitado, tu puedes registrarte o ingresar a tu cuenta .

No será publicado

Get your own Gravatar
Sign up for free