Crear un theme para WordPress I

31 / octubre / 2006

index.php

Esta es de las partes más importantes ya que vamos a definir como se mostrarán nuestros posts y todo eso. Para empezar creamos un archivo llamado index.php y lo guardamos en la carpeta de nuestro theme, ahora hay que mandar a llamar el header que hicimos anteriormente.

PHP:
  1. <?php get_header(); ?>

 

Después de esto vamos a ir con el contenedor de nuestros posts así como el loop que es de las partes podriamos decir más complicadas de WordPress.

PHP:
  1. <!-- INICIA CONTENIDO -->
  2. <div id="container">
  3.   <?php if (have_posts()) : ?>
  4.   <?php while (have_posts()) : the_post(); ?>
  5.   <div class="post" id="post-<?php the_ID(); ?>">

 

Una vez que tengamos esto, que es la definición del inicio de nuestros posts, donde tenemos una condicional que se refiere a que "si hay post" entonces mostrará lo que hará que se repitan el formato que le demos gracias al while y definimos la clase post para "encapsular" cada entrada de nuestro sitio.

Continuamos con la fecha, la haremos en formato de calendario gracias a una referencia de anieto2k quedaría de la siguiente forma.

PHP:
  1. <acronym class="published" title="<?php the_time('F jS, Y'); ?>">
  2.   <span class="pub-month"><?php the_time('M'); ?></span>
  3.   <span class="pub-date"><?php the_time('j'); ?></span>
  4.   </acronym>

 

Seguimos con el título de nuestro post, no hay mucho que decir al respecto, queda de esta forma.

PHP:
  1. <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
  2.   <?php the_title(); ?>
  3.   </a><?php edit_post_link('*', '<sup>', '</sup>'); ?></h2>

 

Aquí yo generalmente añado el link para editar el post lo que corresponde a edit_post_link(); y lo que hacemos es ponerlo dentro de los tags sup y el link sería un asterisco (*) igual pueden ponerle editar post ó como lo identifiquen ustedes en lugar del asterisco.

Los detalles de cada entrada resultan importantes ya que sabemos bajo que categoría(s) se publicó, el autor y cuantos comentarios tiene. Justo debajo del título de nuestros post ponemos lo siguiente:

PHP:
  1. <small> Publicado en
  2. <?php the_category(', ') ?>
  3. por
  4. <?php the_author() ?>
  5. y tiene
  6. <?php comments_popup_link('0 comentarios', 'un comentario', '% comentarios &#187;'); ?>
  7. </small>

 

  • the_category(); : Usamos la "coma"(,) como divisor por si se muestra en más de una categoría.
  • the_author(); Muestra el nombre del autor que publicó la entrada.
  • comments_popup_link(); Muestra el # de comentarios y un link que apunta al formulario para añadir comentarios

Entonces hasta el momento nuestro título de cada post se vería de la siguiente forma (no tomen en cuenta la fecha que aún no modificamos la CSS para esta parte)

Post Title

El contenido de nuestro post quedaría de la siguiente forma:

PHP:
  1. <div class="entry">
  2.       <?php the_content('Continuar leyendo &raquo;'); ?>
  3.     </div>

 

the_content(); es lo que manda a llamar el contenido de nuestro post, la parte que se encuentra entre las comillas simples será el texto que se muestre cuando en el post seleccionemos lo que corresponde a generalemente aparece como "Read the rest..." ó "more..." aquí lo pueden modificar.

Vamos a cerrar el loop y el div que corresponde al post, justo debajo ponemos lo siguiente:

PHP:
  1. </div>
  2.   <!-- TERMINA EL POST -->
  3.  
  4.   <?php endwhile; ?>
  5.   <!-- TERMINA LOOP -->

 

Hemos cerrado el div correspondiente a cada post y terrminado el loop.

Continuamos con la navegación, cuando hemos sobrepasado el # de post que deseemos que se muestren en la página principal aparecerán los siguientes enlaces ya sea para ver los anteriores ó las siguientes entradas.

PHP:
  1. <!-- INICIA NAVEGACION -->
  2.   <div class="navigation">
  3.     <div class="alignleft">
  4.       <?php next_posts_link('&laquo; Entradas anteriores') ?>
  5.     </div>
  6.     <div class="alignright">
  7.       <?php previous_posts_link('Siguientes entradas &raquo;') ?>
  8.     </div>
  9.   </div>
  10.   <!-- TERMINA NAVEGACION -->

 

Igual pueden modificar lo que se encuentra entre las comillas simples para que quede a su gusto.

Que pasa si no hemos puesto ningún post? aaah!! bueno, para eso es la condicional que pusimos al principio ¿recuerdan? la parte que decía if (have_posts()) , entonces abajo de la navegación ponemos lo siguiente:

PHP:
  1. <?php else : ?>
  2.   <h2 class="center">Ups!!!</h2>
  3.   <p class="center">Lo siento pero creo que lo que est&aacute;s buscando no se encuentra aqu&iacute;.</p>

 

Igual pueden modificar su mensaje de error a como mejor les parezca.

Para terminar con esta sentencia y con el contenedor que abrimos al principio ponemos esta parte:

PHP:
  1. <?php endif; ?>
  2. </div>

 

Con esto terminamos por cerrar lo que nos faltaba de nuestros post y de la sentencia. Por último mandamos a llamar lo que será posteriormente nuestro sidebar.php y footer.php

PHP:
  1. <?php get_sidebar(); // mandamos llamar la sidebar ?>
  2. <?php get_footer(); // mandamos llamar el footer ?>

 

Páginas: 1 2 3 4 5 6 7

+

16 comentarios para Crear un theme para WordPress I

  1. eres fantastico bro!!

    gran utilidad la de este tuto!!

  2. HostMx Alon 31 oct 2006

    ahorita no tengo mucho tiempo, pero yo era de los principales interesados en este tuto, gracias ifx luego lo checho :D

  3. muy bueno el tutorial amigo!!!

  4. REALMENTE EXELENTE!

  5. yo nose si soy yo el idiota pero porque no aprende a escribir el que hizo esta entrada??
    es imposible leerlo..
    Chau

  6. No se por que pero no puedo descargarme los archivos.. me dice que la pagina no existe =(

  7. He visto que han cambiado la estructura de los permalink por eso no funcionan los enlaces ;)

    http://infectedfx.net/layout-xhtml-css-i/2006/

    pon el año despues del nombre del post y funcionan ;)

  8. Muy bueno excelente introducción ahora me podre a practicar….gracias men…..

  9. kingworld 03 ene 2010

    hola mira quiero aserte una consulta con respecto al index.php, nesesito saver en el siguiente codigo:

    como deveria ponerlo, para que enves de que salga las fraces “entradas anteriores” y “sigientes entradas”, salga los nuemeros de las paginas, es desir una navegacion igual a la de gratisjuegos.org, como veras hay solo sale el numero de paginas, espero tu respuesta :)

  10. ¡Muchas gracias! :)

  11. Tiene serios problemas de redacción este articulo. Aunque de cualquier forma es muy educativo; gracias.

  12. Serena 20 ene 2011

    Muchas gracias!

  13. Los enlaces a las partes anteriores estan caidos, podria solucionarlo?? Mil gracias!!

  14. Augusto Busso 07 feb 2011

    Los archivos no funcionan.

  15. No funcionan los enlaces de:
    - Layout XTML & CSS I
    - Layout XHTML & CSS II

  16. ARREGLEN LAS ENTRADAS ¬¬

ShowTracksTrackbacks/Pings

  1. [...] El theme está basado en el theme BlueCrunch de Zen Photo Themes, y en la serie de manuales de Crear un Theme para WordPress de InfectedFX, nunca pensé que era tan sencillo crearlo. [...]

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

  3. [...] un theme para WordPress, 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 [...]

  4. Blog and Web dice: 4

    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…

  5. [...] Crear un theme para wordpress – Infectedfx [...]

  6. [...] diseñar plantillas para este sistema, me encontre con unos excelentes tutoriales en la web de Infected-FX. Y de todo este embole genero lo que ustedes ahora estan [...]

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

No será publicado

Get your own Gravatar
Sign up for free