Contenido

Haz que todos tus posts sean diferentes

28 Jun

+ 3

Desvariando a las 7:00 de la mañana me he encontrado con este artículo que nos explica como hacer que cada uno de nuestros posts sea diferente. Para ello usaremos una entrada en el meta del post en donde introduciremos la clase CSS que queremos que tenga dicho post. Esto es muy util para estos blogs que tienen además de mostrar diferentes posts por categorías, quieren hacer que cada post tenga un aspecto personalizado.

¿Como?

El como, es realmente sencillo, simplemente tendremos que buscar la estructura de nuestros posts dentro del Loop de WordPress, que en el theme kubrick es exactamente así:

<div class="post" id="post-<?php the_ID(); ?>">
	<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
	<small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
	<div class="entry">
		<?php the_content('Read the rest of this entry &raquo;'); ?>
	</div>
</div>

Una vez localizada la estructura procedemos a su modificación, y para conseguir el efecto que buscamos, usaremos get_post_meta() que se encarga mediante un par de parámetros devolver los valores almacenados para un post en concreto.

<?php echo get_post_meta($post->ID,'post', true) ?>

Osea, nos ha de quedar una cosa similar a esta.

<div class="<?php echo get_post_meta($post->ID,'post', true) ?>" id="post-<?php the_ID(); ?>">
	<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
	<small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
	<div class="entry">
		<?php the_content('Read the rest of this entry &raquo;'); ?>
	</div>
</div>

Como podemos ver ahora estaremos usando el valor almacenado en el campo «post» del meta de nuestro post. Y de esta forma solo nos queda, crear la clase CSS que albergará los estilos propios de dicho post e ir introduciéndo este campo en el meta de nuestros posts.

Introducción de campos Meta en WordPress

  • Yo tengo que otra vez romper una lanza por Sandbox.

    El punto principal de Sandbox es que es un tema de WordPress que no se centra en aspecto (de hecho sandbox por si mismo no aplica ningun estilo si no se añade un «skin»).

    Lo que hace sandbox es añader docenas de selectores a todo y de todo tipo que nos permiten hacer este tipo de pijaditas 100% dentro de CSS.

    Por ejemplo, cada entrada esta contenida en un div que tiene clases en css para dia del mes, de la semana, numero de mes, año, categorias, orden en la pagina, par/impar, usuario logado o no, etc.

    El tag body tambien tiene todo esto, ademas de selectores por si es el index, si es una pagina de paginacion, cual pagina es, si es un archivo, si es una pagina de post.

    Con Sandbox si quisieras podrias tener estilos para cuando un post esta hecho el dia de tu cumpleaños pero solo si es el primer post de la lista y se hizo en un dia par.

    O podrias tener un estilo para todo el blog para cuando publicas en navidad o el dia de los inocentes.

    Todo invierno podria tener un estilo grisaceo y toda primavera colores primarios.

    Para mi, si lo que quieres es que no haya un estilo uniforme sino que sea dinamico, me parece que la mejor opcion es sandbox.

    Algo muy interesante que hizo shauninman es que sus posts «envejecen». En el cuerpo de cada pagina pone cual es la «edad» de lo que se esta viendo, asi como en los posts mismos. Dependiendo de la edad el aspecto de todo se va degradando. Los colores se van difuminando, la tipografia va perdiendo estilo.

    Inutil pero interesante pero inutil 🙂

  • Un truco muy interesante. No creo que se pueda aplicar a mi blog, pero siempre es bueno concerlo!

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.