Crear un theme para WordPress IV Publicada el Domingo 17 de Diciembre de 2006 a las 7:54 pm por Infected-FX
archive.php
Una vez que terminamos con nuestra página de resultados de búsqueda vamos a crear archive.php este archivo puede tener importancia si así se la quieren dar ó de plano no, en caso de que no lo pongan una vez que entran a una categoría ó archivo mensual se mostrará tal como en el index.php entonces ya depende mucho de cada quién. La ventaja que nos dá es que podemos organizar nuestro blog por archivos mensuales, anuales, por autor, categoría etc...
Lo que haremos nosotros será mostrar los archivos de la misma forma en la que vemos en los resultados de búsqueda search.php.
Como siempre antes que otra cosa comenzaremos por mandar a llamar el header de nuestro theme.
-
<?php get_header(); ?>
Ahora si vamos a empezar con el contenedor de la página de archivos y la condicional por si hay archivos que muestre lo siguiente que pondremos y en dado caso que no existan mandaremos un mensaje al usuario. En esta parte ponemos lo siguiente:
-
<div id="container" class="archives">
-
<?php if (have_posts()) : ?>
-
<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
Que siempre hemos definido container como nuestro contenedor principal de nuestro blog.
Títulos dependiendo el tipo de archivo
Ahora viene algo interesante, WordPress nos permite tener archivos anuales, mensuales y todo eso que les mencionaba arriba y para eso podemos definir un título para cada uno de los casos en los que se mande a llamar archive.php entonces todo lo haremos con una condicional.
-
<?php if (is_category()) { ?>
-
<h2>Archivo de '<?php echo single_cat_title(); ?>'</h2>
-
<?php } elseif (is_day()) { ?>
-
<h2>Archivo para
-
<?php the_time('F jS, Y'); ?>
-
</h2>
-
<?php } elseif (is_month()) { ?>
-
<h2>Archivo de
-
<?php the_time('F, Y'); ?>
-
</h2>
-
<?php } elseif (is_year()) { ?>
-
<h2>Archivo del año
-
<?php the_time('Y'); ?>
-
</h2>
-
<?php } elseif (is_author()) { ?>
-
<h2>Archivo del autor </h2>
-
<h2>Archivos del blog</h2>
-
<?php } ?>
Creo que los casos son bastante claros de todas formas vienen con comentarios por si desean hacerle algún cambio.
El Loop en la página de archivos
El loop se habrán dado cuenta que no cambia sino lo que cambiamos el la manera de mostrar los datos que se encuentran dentro de este, como si queremos mostrar el nombre de autor, el número de comentarios, la fecha ó si queremos que el contenido esté visible a primera vista ó hasta entrar en el post que es lo que haremos aquí de la misma forma que en los resultados de búsqueda como ya se los había mencionado arriba.
-
<ul class="resultList">
-
<?php while (have_posts()) : the_post(); ?>
-
<li id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"> <em class="commentsNumber">
-
<?php comments_number(__('0'), __('1'), __('%')); ?>
-
</em> <strong>
-
<?php the_title(); ?>
-
</strong> <small>Publicado el
-
<?php the_time('jS F') ?>
-
por <em>
-
<?php the_author('nickname'); ?>
-
</em></small> </a> </li>
-
<?php endwhile; ?>
-
</ul>
Navegación en los archivos
De la misma forma, cuando uno entra a alguna categoría por ejemplo con el tiempo sería lógico que los post empiezen a paginarse para eso pondremos una navegación como la hemos venido manejando desde el index.php
-
<div class="navigation">
-
<div class="alignleft">
-
<?php next_posts_link('« Entradas anteriores') ?>
-
</div>
-
<div class="alignright">
-
<?php previous_posts_link('Siguientes Entradas »') ?>
-
</div>
-
</div>
Si no hay archivos que mostrar
Como siempre WP nos dá la oportunidad de mostrarle un mensaje al usuario en caso de que no encuentre nada, para eso utilizando el if que abrimos al prinicipio ahora es el turno del else y queda así:
-
<?php else : ?>
-
<h2 class="center">Ouch!! No tenemos nada por aquí!!</h2>
-
<?php endif; ?>
Cerrando lo restante de archive.php
Para terminar con archive.php lo único que haremos como antes es cerrar el contenedor y mandar a llamar nuestro footer y sidebar para que el theme no se descuadre solo en este caso, habrá algunos themes en los que tal vez no haga falta que siempre los mandemos a llamar ó tal vez mandemos a llamar otros dependiendo como quieran armarlo.
-
</div>
-
<?php get_sidebar(); // mandamos llamar la sidebar ?>
-
<?php get_footer(); // mandamos llamar el footer ?>

doodle
Diciembre 18, 2006 a las 6:24 pm
El enlace al fichero de descarga tiene duplicada la p en la extensión zip, el correcto es: ifx.theme.final.zip
Quedando:
http://www.infectedfx.net/wp-content/ejemplos/wptheme/ifx.theme.final.zip
Gracias por el tutorial paso a paso, es genial que haya personas que se toman su tiempo para que otros ahorremos el nuestro.
Yo personalmente no usaré Wordpress en mi próxima web tras haberlo usado (testeado) en mi servidor local durante largo tiempo. Es muy bueno pero prefiero b2evolution (http://b2evolution.net/) porque tiene todo lo que se echa en falta en Wordpress.
Eso no es óbice para reconocer que me gusta ver cómo has hecho los estilos para el código, etc en tu web y he seguido este tutorial porque es muy ameno y siempre aprende uno algo por mucho que crea que sabe del tema.
Me gusta muchísimo cómo has desarrollado tu web, el estilo personal que le has aplicado, su apariencia, usabilidad y funcionalidad. Te felicito sinceramente.
He usado mailinator porque no quiero spam, lo siento si contradice tu política, en ese caso puedes borrar mi mensaje ya que no es mi intención incumplir tus condiciones. Sé que algunos países desconocen lo que es la política de privacidad y protección de datos porque ya hice un comentario sobre el tema en disenorama y Kamei me dejó claro que en EE.UU. y muchos países latinoamericanos no existen leyes que obligen a proteger los datos como el mail para evitar posibles spam, etc.
Ha sido un placer, de nuevo Felicidades por tu trabajo….y Feliz Año 2007.
Infected-FX
Diciembre 18, 2006 a las 7:59 pm
Hey doodle , gracias por el dato ahora mismo lo corrigo… es todo un gusto, dentro de lo que cabe tal vez pasarles un poco de lo que he ido aprendiendo desde el relativamente poco ó mucho tal vez tiempo que llevo probando WordPress este tutorial tal vez pueda ser de ayuda para más de uno.
Me parece interesante lo que mencionas sobre b2evolution he visto que la plataforma es muy flexible, pero más interesante me parecería saber que puntos le has encontrado más fuertes ya que sinceramente nunca lo he probado y estaría genial saber de alguien que ya lo ha usado saber que ventajas le encuentra sobre WP como lo has mencionado.
Muchas gracias sobre los comentarios del sitio, hemos tratado de hacer que sea algo que dé gusto visitar y sobre los tutoriales no tengo gran experiencia de como escribir en forma, creo que algunas veces termino repitiendo palabras x_X pero espero con el tiempo ir mejorando y haciendo que se hagan aún más amenos… siempre es un gusto saber que es algo que se puede entender.
No te preocupes, tienes razón sobre que no existen leyes para obligar a proteger los datos, pero aquí ni newsletter mandamos asíe sque no te apures de todas formas si te sientes más a gusto escribiendo así no hay ningún problema, tiene más sentido lo que transmite el comentario que si es un email al que se le pueda mandar alguna clase de correo no deseado.
Agradezco mucho el tiempo que te tomaste para tu mensaje doodle, esperemos que no sea la única vez que te estemos leyendo por aquí y si gustas estamos abiertos a que nos dejes a tu punto de vista la comparación con b2 y wp. Un abrazo y te deseo lo mejor para este año mis mejores deseos ^^
doodle
Diciembre 19, 2006 a las 8:38 am
Aquí puedes ver una especie de comparativa histórica en la que explica que incluso Matt (WordPress) le sugirió que implementasen todos los avances logrados en WordPress pero al final el autor de b2evolution se decidió a continuar con el proyecto como algo individual.
http://b2evolution.net/about/evolutionofb2.html
A mí lo que me gusta es la posibilidad de múltiples blogs en uno, la gran capacidad para generar páginas totalmente personalizables y poder hacerte todo un website con el mismo CMS y me encanta la posibilidad multiidioma, ya que hay veces que lo que uno quiere expresar no llega a todos, la comunidad hispanoparlante por ejemplo pierde muchas oportunidades para acceder a según qué tipo de información y a veces sólo llega cuando ya es obsoleta.
He dado clases durante 6 años de mi vida en el tema de creación web y he descubierto que el potencial de los alumnos a veces queda limitado no porque no deseen estudiar sino por la barrera idiomática que a veces es insalvable.
Otra gran característica es la posibilidad de poner password por artículo publicado, eso me permitirá en un futuro cercano cuando esté fuera de mi país comunicarme con mis familiares de una forma más inmediata y completa que con un simple e-mail.
No sé, tengo la sensación tras probarlo de que es cómo el paso siguiente a WordPress, con el que estaba sencillamente encantado hasta que apareció b2evolution en una web de dibujo que visité, seguí el enlace y flipé.
Otro CMS que me viene muy bien para generar una especie de libro que quiero hacer es textpattern.
Hay muchos, he probado moodle y también me gusta para el manejo de cursos. Drupal me decepcionó un poco, al igual que Joomla o Mambo porque aparentemente son muy abiertos pero luego se nota que han sido creados para bloggers mayoritariamente, para sitios exclusivamente (PHPNuke por ejemplo), etc.
En fin, que lo que he visto me gustó, por supuesto que el problema que tiene ahora es que no lo conoce mucha gente y es posible que en un futuro próximo WP lo supere, pero lo que es ahora… es evidente que es mejor, al menos para lo que yo buscaba.
Gracias por tus palabras, se ve que eres un tipo majo, sencillo y honrado. Sigue así, el mundo necesita gente como tú.
doodle
Diciembre 20, 2006 a las 6:02 pm
Hola de nuevo,
creo que me he hecho un lío total al querer explicar las diferencias y tener que estar pendiente de lo que me iba surgiendo en el trabajo. He saltado constantemente de una idea a otra porque estoy probando textpattern y b2evolution simultánemante en casa (localhost) y estas fechas son mortales en el trabajo (estoy a full)… y bueno, al querer plasmarlo he hecho un mix que ahora al leerlo me he sentido imbécil.
Voy a ordenar todo para que tenga más sentido.
A mí lo que me gusta de b2evolution, además de su gran flexibilidad es la posibilidad de múltiples blogs en uno, me pareció genial la posibilidad de que venga de serie con mensajes que se pueden paginar, el hecho de intentar que el usuario no tenga que recurrir a hacks para poder tener algo bueno “de serie” me pareció un fundamento de comienzo de cualquier proyecto bastante sólido y me encanta la posibilidad multiidioma, ya que hay veces que lo que uno quiere expresar no llega a todos, la comunidad hispanoparlante por ejemplo pierde muchas oportunidades para acceder a según qué tipo de información y a veces sólo llega cuando ya es obsoleta.
He dado clases durante 6 años de mi vida en el tema de creación web y he descubierto que el potencial de los alumnos a veces queda limitado no porque no deseen estudiar sino por la barrera idiomática que a veces es insalvable, así que valoro mucho la posibilidad de publicar en más de un idioma ya que permite un mayor alcance en todos los sentidos (económico, profesional, personal…).
No sé, tengo la sensación tras probarlo de que es cómo el paso siguiente a WordPress, con el que estaba sencillamente encantado hasta que apareció b2evolution en una web de dibujo que visité, seguí el enlace y flipé.
En fin, que lo que he visto me gustó, por supuesto que el problema que tiene ahora es que no lo conoce mucha gente y es posible que en un futuro próximo WP lo supere, pero lo que es ahora… es evidente que es mejor, al menos para lo que yo buscaba.
Otro CMS que me viene muy bien para generar una especie de libro que quiero hacer es textpattern, dispone de gran capacidad para generar páginas totalmente personalizables y poder hacerte todo un website con el mismo CMS, me llama especialmente la atención la posibilidad de poner password por artículo o página publicado/a, eso me permitirá en un futuro cercano cuando esté fuera de mi país comunicarme con mis familiares de una forma más inmediata y completa que con un simple e-mail.
Hay muchos CMS, he probado moodle y también me gusta para el manejo de cursos. Drupal me decepcionó un poco, al igual que Joomla o Mambo porque aparentemente son muy abiertos pero luego se nota que han sido creados para bloggers mayoritariamente, para sitios web o portales exclusivamente (PHPNuke por ejemplo), etc.
Como ya os he dado la URL de b2evolution sabed que hey más info en español sobre textpattern en http://www.textpatternmania.com/
Bueno, espero no tener otro cacao mental de estos en muchos años pero era necesario corregirlo porque sino la gente podía pasar días enteros buscando características en b2evolution que son de textpattern.
Siento la confusión.
Infected-FX
Diciembre 23, 2006 a las 5:36 pm
doodle muchas gracias por las referencias, estuve probando b2evolution en localhost, me sorprende la cantidad de opciónes que trae, se me figura mucho a Expression Engine pero aún con más opciónes, la parte de los themes está interesante, pero habría que estudiarle bien el código para saber que tanto podríamos hacer :D pero se ve divertido, sin duda tus datos me hicieron decidir probarlo y trataré de ver que tanto puedo aprenderle a b2.
TextPattern si lo probé pero ya tiene un poco de tiempo y la verdad no me puse a investigar sobre él, como la primera plataforma que utilizé fué serendipity que en su momento a mi manera de diseñar (con tablas) se prestaba perfectamente no había mucha flexibilidad de esta plataforma en ese entoncse, últimamente parece que le han dado con ganas, pero no creo que me vuelva a tomar el tiempo para revisar esa plataforma, b2 me llama… x) habrá que hacer un par de pruebas con esta plataforma en local haber si puedo lograr algo ^^
También probé phpNuke, Expression Engine, Mambo pero creo que con los que más me pude sentir a gusto fueron Expression Engine y WordPress.
Un saludo Doodle, quedó más que claro todo, muchas gracias por todo lo que nos has hecho saber de algo que en realidad en lo personal desconocía totalmente.