WordPress y Bucle

WordPress utiliza el bucle de post para permitir manipular los mismos. De acuerdo al funcionamiento de wordpress, el número de post que presenta depende donde se ejecute. Ej. Si se llama index.php se muestran los más recientes, pero si se está en una categoría, se muestran los más recientes en esa categoría.

Como necesitaba mostrar los más recientes, implementé una funcion que recupera los registros y usa start_wp para hacer el tratamiento de los mismos.

function plugin_showlast($n){
$postslist = get_posts(‘numberposts=’.$n.’&order=ASC&orderby=post_title’);
foreach ($postslist as $post) :start_wp(); ?>
<li><a href='<?php the_permalink();?>’><?php the_title(); ?></a></li>
<?php endforeach;
global $wp_query;
// Since the old style loop is being used, advance the query iterator here.
$wp_query->rewind_posts();
}

Esta función, tiene la particularidad de que saca los $n últimos dependiendo del sitio donde se ejecute, con lo cual la función  get_posts es contextual.

La instrucción:

$wp_query->rewind_posts();

Se usa para reiniciar la variable que contiene los post del contexto, me vi oblicado a ponerla porque se presenta un problema al intentar ver un registro único para hacer comentarios, el bucle principal de single.php donde saca un mensaje que indica que no se han encontrado registros con el criterio utilizado.  (Cuando uso esta función antes de la ejecución del bucle por defecto de wordpress).




    Responder

    Introduce tus datos o haz clic en un icono para iniciar sesión:

    Logo de WordPress.com

    Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

    Imagen de Twitter

    Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

    Foto de Facebook

    Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

    Google+ photo

    Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

    Conectando a %s



A %d blogueros les gusta esto: