The Bit Jazz Band 3.1

Estreno nueva versión del blog

Margaret Macdonald, The May Queen.

archivado en: WordPress / 8 diciembre, 2014

Concluye el año 2014 y The Bit Jazz Band 2.1 llega a su fin. Es el momento de comenzar una nueva versión de este blog que cumple ya su segundo año de vida. El diseño no es lo mío, por lo que los cambios gráficos apenas se distinguen; no así la arquitectura interactiva, que espero haber mejorado mediante un truco más sencillo que un botijo para hacer un tema de wordPress algo más dinámico. Paso a contarlo.

Salvo casos excepcionales, como el de mi amigo Daniel Tubau, no se suele escribir más de unas cien o doscientas entradas al año; por lo tanto, ni en diez ni en veinte años de publicación intensa se alcanza un volumen tan grande como para que la definición de sus datos básicos en un json suponga un coste de rendimiento detectable por el usuario.

Dicho de otra forma: en vez de tirar de php y de ir y volver al servidor, ya sea recargando la página, ya sea mediante ajax, que en wordpress es muy pesado de implementar de manera correcta, para la portada y otras páginas de aterrizaje, como las que muestran las categorías, se puede armar un json con los datos de la query y luego trabajarlo con javaScript de forma más ágil. Algo así, por ejemplo, para la portada:

1. Seleccionamos todos los post, menos los de alguna categoría o lo que sea que queramos excluir, definiendo post_per_page en -1

<?php

$args = array (

'cat' => '-44',
'posts_per_page' => '-1'
);

$todoArticulos = array();

$query_post = new WP_Query( $args );

if ( have_posts() ) : while ($query_post->have_posts() ) : $query_post->the_post();

...

2. Y ahora la gracia es que, en vez de pintar el html en el bucle, lo vamos almacenando en un array de php (ie, $itemTemp), que a su vez guardamos en otro array en cada vuelta del bucle (ie, $todoArticulos).

...

$itemTemp['enlace'] = get_permalink();

$itemTemp['titulo'] = get_the_title();

$itemTemp['tags'] = get_the_tag_list();

$itemTemp['fecha'] = get_the_date(Y-m-d);

array_push($todoArticulos, $itemTemp);

...

3. Y ya lo único que tenemos que hacer es soltar ese array donde tengamos el script de js pasándolo por un json_encode y pintar el DOM con javaScript incorporando toda la funcionalidad dinámica que necesitemos.

<script>

;(function($) {

$(document).ready(function () {

var todoArticulos = <?php echo json_encode($todoArticulos); ?>;

/* Y aquí ya pintamos dinámicamente todo el DOM... */

});

})( jQuery );

</script>

Chulo, ¿no?

Bueno, pues sin más que contar por ahora, me despido esperando que os guste este nuevo diseño, del que aún me faltan partes que arreglar, por cierto, así que paciencia si algo va mal en los próximos días, please.

|| Tags:

valoración de los lectores sobre The Bit Jazz Band 3.1

  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • 5 sobre 5 (1 votos)

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

Los comentarios están cerrados.