Johan de Bruin

Programación en php, tutorial de api wordpress y posicionamiento en buscadores seo.

Configurar el loop de wordpress

Hoy os traigo otro artículo para incorporarlo en la api de wordpress, el loop de wordpress es invocado cada vez que solicitamos articulos o páginas, en el index por ejemplo sale por defecto la solicitud de los últimos artículos publicados, en el archivo los articulos de cierto mes o cierta categoria, etc…

La api de wordpress nos permite una configuración bastante intensa de la forma de solicitar y mostrar contenido en los loops de wordpress, lo primero de todo es establecer los posts que queramos mostrar en el loop, se puede hacer usando la función query_posts();

query_posts('cat=4,5'); //Todos los que esten en la categoria 4 y 5
query_posts('tag=mitag'); //Los que tengan cierto tag...
query_posts('meta_key=nombrekey&meta_value=valorkey'); //Tenga un campo personalizado con dichos valores
 
 $categoria=$cat; // asignamos la actual categoria
 $query= 'cat=' . $categoria. '&orderby=date&order=ASC'; //ordenacion ascendente por fecha
 query_posts($query);


Como veis, tenemos mucho con que jugar a la hora de configurar el contenido del loop de wordpress, una vez hecho podemos crear el loop, tiene la siguiente estructura:

if (have_posts()) : while (have_posts()) : the_post();
//...
endwhile; else:
//...
endif;
wp_reset_query(); //Importante reiniciar loop para que wordpress funcione como habitualmente

Una vez dentro del loop podemos llamar a muchos valores de los posts, como por ejemplo el contenido, los tags, fecha, titulos, extracto, campos personalizados, la categoria… Aquí un ejemplo de como seria el código completo

query_posts('cat='.get_cat_ID('miCategoria')); //Establecemos el query con los posts de "miCategoria"
if (have_posts()) : while (have_posts()) : the_post();
     <p><h1><?php the_title(); ?></h1></p>
     <p><?php the_excerpt(); ?</p>
     <p><?php the_content(); ?></p>
<?php
$postMeta = get_post_custom_values('metaKey');
foreach ( $postMeta as $key => $value ) {
     echo "<p>$key  => $value ('metaKey')</p>"; 
}
?>
endwhile; else:
    echo "No se encontraron articulos relacionados, puede que le interese alguna de las siguientes categorias"
<ul>
   <?php wp_list_categories(); ?>
</ul>
endif;
wp_reset_query();

Leave a Response