Un espacio para los entusiastas del web

Es viernes, qué tal si aprendemos sobre themes de WordPress!

Publicado el 4 de Septiembre, 2009

wordpressEn este nuevo viernes te invito a conocer más y adentrarnos un poco en lo que es WordPress, uno de los CMS más populares entre blogs, sitios web y comunidades en línea. El objetivo de hoy es hacer una introductoria y sencilla explicación sobre la creación o personalización de themes para WordPress.

Evidentemente por cuestiones de espacio y tiempo, esto no será un tutorial extenso o sumamente completo para crear plantillas de WordPress, sino más bien pretende dar una información básica para motivar luego a que quienes estén interesados a investigar un poco más por su cuenta al respecto de lo que hablaremos. Además quiero al finalizar compartir un par de recursos útiles a la hora de comenzar a crear temas para WordPress.

Composición básica de un tema para WordPress:

  • index.php, archivo central de todo tema desde el cuál se llamarán a los otros archivos del tema y (en general) contiene el “WordPress Loop” que es el medio para traer la información desde la base de datos (en el Loop podemos presentar categorías, posts, páginas, etc).
  • header.php, dónde se abre la página ( y en general incluimos allí también el titular de la página y/o el menú horizontal si tuviera), para llamar este archivo desde el index.php usamos la función de WordPress: get_header();
  • footer.php, en este archivo iría el pie de nuestra web, los créditos (si los hubiera), el fin del HTML (</body></html>) y dónde opcionalmente podemos incluir la función wp_footer() que nos permite realizar tareas o imprimir código HTML al final de la página, es muy utilizada por plugins para modificar o agregar código una vez toda la página está cargada.
  • style.css, es la hoja de estilo principal, es obligatoria, además de para definir la información de estilos para la web, es dónde se ubica la información sobre el tema.

Así que ya podemos crearnos una carpeta /prueba_wp/ dentro de la cuál crearemos estos 4 archivos. Vayamos primero al contenido de style.css, en las primeras lineas y como comentario definiremos los datos del tema que vamos a crear:

/*
Theme Name: Nombre de nuestro Tema
Theme URI: http://nuestraweb.com/
Description: Una breve descripción que puede <strong>incluir html</strong>.
Author: Tu nombre
Autor URI: http://lawebdelautor.com/
Version: 0.1
*/

Luego de esa primera parte con datos del theme, este archivo contendrá todos los datos de estilos CSS para nuestro diseño.

El archivo index.php conceptualmente será algo así:

<?php get_header(); ?> <div id="contenido"> [...] </div> <?php get_footer(); ?>

Teniendo a get_header(); y get_footer(); como funciones internas de WordPress que lo que hacen es simplemente incluir los archivos header.php y footer.php respectivamente.

Luego en el header.php incluimos el inicio de la web, por ejemplo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
 <title><? bloginfo('name'); ?></title>
 <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
 <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />
 <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed” href="<?php bloginfo('rss2_url'); ?>" />
 <link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" />
 <?php wp_head(); ?>
</head>

<body>
 <div id="contenedor">
  <div id="titular">
   <h1><?php bloginfo('name'); ?></h1>
   <h2><?php bloginfo('description'); ?></h2>
  </div>
  <div id="menu">
   [...]
  </div>

Expliquémoslo de a partes:

  1. En primer lugar definimos el DOCTYPE y abrimos el HTML.
  2. Luego utilizamos la función bloginfo(‘name’); para mostrar el nombre del sitio en el <title> de la web.
  3. Luego definimos el charset y el generator también utilizando funciones de WP (resaltadas en negritas).
  4. Después de eso especificamos el canal RSS y la dirección de la hoja de estilos principal (style.css) por medio de bloginfo(’stylesheet_url’);
  5. Por último dentro del <head> llamamos a la función wp_head(); que lo que hace es permitir a WordPress (y particularmente a los plugins) agregar información en el header.

Y en el footer.php el cierre, por ejemplo algo así:

  <?php wp_footer(); ?>
 </div><!-- cerramos la capa id=”contenedor” -->
</body>
</html>

Luego en nuestro index.php dónde hoy poníamos […] simbolizando el contenido, es donde ejecutaremos el Loop de WordPress para mostrar (por ejemplo) los últimos posts:

<!-- Inicio del Loop -->
<?php if (have_posts()) : ?>
 <?php while (have_posts()) : the_post(); ?>

  <!-- Inicio del post -->
  <div id="post-<?php the_ID(); ?>">
   <h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a</h3>

   <span id=”post-data”> Publicado en: <?php the_category(', ') ?> por: <?php the_author(); ?> y hay: <?php comments_popup_link('0 comentarios', '1 comentario', '% comentarios'); ?></span>
   <div class="entry">>
    <?php the_content('Continuar leyendo &raquo;'); ?>
   </div>
  </div>
  <!-- Fin del post -->

 <?php endwhile; ?>
<!-- Fin del Loop -->

Dónde las 2 primeras lineas preguntan si hay posts para mostrar y luego itera entre ellos mostrando para cada uno un título [the_title();], la categoría [the_category();], autor [the_author();], sus comentarios [comments_popup_link();] y el contenido [the_content();].

Bueno, esto sería lo más extremadamente básico del funcionamiento de un tema para WordPress, se que todo esto que hemos visto es sumamente simple y básico; pero la propuesta es que si hay interés en este tema de desarrollo sobre WordPress sería genial poder volver a abordar esta temática en próximos viernes y aprender juntos al respecto, ustedes dirán! ;)

Algunos recursos útiles:

  • Codex WordPress: (aquí encontrarás la más completa información sobre todo el funcionamiento de WP desde la fuente oficial – info en Inglés).
  • Videotutorial sobre creación de themes: (un videotutorial realizado por Emilio García – Piensaenpixel – explicandocomo crear un theme WordPress paso a paso).
  • SandBox theme: (es un tema para WP ya programado pero absolutamente sin estilos CSS para que nos sirva para aprender navegando el código y/o para adaptar a nuestro diseño).

¿Te gustó?

¡Sí, me gusta! Le ha gustado a 16 personas
Loading ... Loading ...

Marcelo FerreiroMarcelo Ferreiro para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: @maestros | Fan page

Comentarios

  1. Muy interesante el artículo, la verdad que sería de mucha ayuda que fuerais dando pistas sobre como crear themes de WP minimamente decentes, para acabar haciendo algo similar a sandbox y entender bien bien el funcionamiento.

    sobretodo para los que no dedicamos o queremos dedicar a esto, saludos.

    Responder
  2. es bueno que pongan esta clase de información, yo estoy creando un tema basado en otro y si he sufrido bastante porque no sabia por donde empezar y tampoco encontre informacion concreta de lo que necesitaba, asi que me meti archivo x archivo a moverle y ver donde cambiaba, asi es como logre agarrarle el hilo, saludos.

    Responder
  3. Muy buen post, datallitos como estos son los que nos ayudan a desarrollar mejor y con más calidad. Gracias por el post.

    Responder
  4. @Hades87, me alegro que haya sido de tu interés, y sí como comentas ese era el objetivo :)

    @manuel, gracias por tu comentario, me alegro que este tipo de artículos resulten útiles!

    @Koratsuki, gracias a ti por leerlo y comentarnos tu impresión ;)

    Responder
  5. Saludos!!, pues no es muy dificil entenderle los temas de wordpress como dice manuel: “asi que me meti archivo x archivo a moverle”, pero esta bien que hayas puesto esta información.
    Aunque creo que realmente para saber hacer un tema no solo para wordpress sino para lo que se te ponga enfrente necesitas CCS.
    Esperare con ansias la siguiente parte, saludos y felicitaciones!
    |JELID|

    Responder
  6. @Eisenheim, gracias por el comentario. Estoy de acuerdo que para poder, por ejemplo, realizar un theme de WordPress necesitas además de saber las bases de cómo funciona WP, conocimientos intermedios en HTML, CSS y PHP mínimo. Saludos!

    Responder
  7. ¡Que tal Marcelo!
    Solo como sugerencia, el es mejor colocarlo antes de la etiqueta :)

    Responder
  8. @Jepser, gracias por el comentario y por la sugerencia, pero sabes que no llego (seguramente hubiera HTML que el sistema no permite), si puedes vuelve a comentar sin poner “textual” el HTML asi lo veo, me interesa sin duda tu sugerencia :) Gracias y buen fin de semana!

    Responder
  9. haha tenes razón Marcelo sin el php wp_footer alli esta… esa era la frase que faltaba

    Responder
  10. Muy buena explicacion se agradece

    Responder
  11. CHamo llevaba tiempo buscando algo asi.

    Es decir, ya habia encontrado varios tutoriales sobre crear temas en wp pero como no soy programador … se me habia hecho un pelo complicado entender todo de una, y con este post realmente sencillo comprendo ahora su estructura y estoy seguro q eso me va a facilitar el trabajo muchisimo.

    Thanks again bro!

    Responder
  12. rifarca

    @Marcelo

    Excelente post!!

    Es justo lo que nesitaba ya sabia editar y usar ciertas funciones del wordpress loop pero no sabia internamente tal cual como y donde se organiza la pagina gracias

    Responder
  13. Me ha parecido muy bueno el artículo.
    Breve, pero me ha dejado varios puntos importantes, muy claros.

    Responder
  14. Excelente, me alegra que haya tenido buena acogida la temática y el artículo, gracias a todos por sus comentarios… quizá otro viernes nos reencontremos con algún artículo sobre WordPress!

    Responder
  15. Roberto

    Como veo que han pasado viernes y no se ha vuelto a escribir sobre WP… aquí va mi voto por continuar la saga de “tutorial sobre temas WP” :)

    Responder

Deja tu Comentario

Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.



Acerca de

Maestros del Web nace cuando intentamos traducir Webmaster al Español. Nacimos orientados al diseño y desarrollo web. Hoy somos un espacio de apoyo para los entusiastas que participan en proyectos en la red.
Leer más de Maestros del Web

Últimos comentarios