Micaela 18 de Enero de 2009 a las 09.24
   Imprimir artículo
elWebmaster.com

Posts destacados en WordPress sin romper la paginaci贸n

Muchos de los temas para WordPress existents poseen en la p谩gina de inicio una caja con los posts destacados que permanecen hasta que son reemplazados por otro post destacado, d谩ndole mayor exposici贸n a nuestro mejor contenido.

El tema es que en muchos de estos temas Premium no funciona correctamente la paginaci贸n cuando se tiene esta secci贸n de posts destacados en nuestro blog, es por eso que desde Spyre Studios nos traen una soluci贸n para este problema.
Si lo que deseamos son 10 posts normales, 1 destacado y que la paginaci贸n funcione correctamente. Antes que nada debemos crear una nueva categor铆a llamada 鈥淔eatured鈥.

Y ahora ech茅mosle un vistazo al c贸digo:

Comencemos por crear el lazo que va a hacer que se vean nuestros 10 posts normales, el c贸digo deber铆a ser algo as铆:

<div class="normal_posts">
< ?php
$limit = get_option(’posts_per_page’);
query_posts(’showposts=’ . $limit . ‘&paged=’ . $paged .’&cat=-5′); ?>
< ?php if (have_posts()) : ?>< ?php while (have_posts()) : the_post(); ?>

/*** haz lo que tengas que hacer aqui ***/

< ?php endwhile; endif; ?>
</div>

La categor铆a 5 fue excluida mediante using 鈥&cat=-5鈥. Simplemente hay que cambiar este n煤mero por el de nuestra categor铆a destacada. La parte $limit permite controlar cu谩ntos posts deseamos mostrar desde nuestro panel de administraci贸n.

El c贸digo de la secci贸n del post destacado deber铆a lucir as铆:

<div class="featured_post">
< ?php $my_query = new WP_Query(’category_name=Featured&showposts=1′);
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>

/*** haz lo que tengas que hacer aqui ***/

< ?php endwhile; ?>
</div>

Se utiliza category_name=Featured para que este lazo solo muestre los posts publicados en la categoria destacada. Y mediante la siguiente parte del c贸digo showposts=1 programamos que la secci贸n destacada s贸lo tenga un post.

Para conseguir que la paginaci贸n ande podemos conseguir el c贸digo WordPress aqu铆. Este lucir铆a algo as铆:

<div id="post_nav">
< ?php posts_nav_link(’ - ‘, ‘Go Forward In Time’, ‘Go Back In Time’); ?>
</div>

Debemos agregar esta parte luego de aqu铆:

< ?php endwhile; endif; ?>

Ya todo est谩 funcionando pero notaremos que la secci贸n de posts destacados se muestra en todas las p谩ginas y no solo en la primera, para que s贸lo se muestre en la primera simplemente debemos agarrar el c贸digo del post destacado:

<div class="featured_post">
< ?php $my_query = new WP_Query(’category_name=Featured&showposts=1′);
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>

/*** haz lo que tengas que hacer aqui ***/

< ?php endwhile; ?>
</div>

Quitarlo del index.php, crear un nuevo archivo llamado featured.php y pegar el c贸digo aqu铆. Salvar el archivo y subirlo.

Ahora en lugar del codigo del posts destacado en index.pxp incluiremos el nuevo archivo featured.php que hemos creado y lo programaremos para que no se muestre en las p谩gina subsiguientes. De la siguiente forma:

< ?php if(is_home() && !is_paged()): ?>
< ?php include (TEMPLATEPATH . ‘/featured.php’); ?>
< ?php endif;?>

Fuente: Spyre Studios


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (3)

  1. Marcha dice:

    La verdad que es bastante 煤til tener una secci贸n de destacados, no obstante para el que no sepa programar y tal se le puede hacer algo tedioso.

  2. Jorechp dice:

    Esto es lo que tu usas para destacar siempre un post al principio de tu blog ? donde das a conocer con mayor enfasis o relevancia un post ?

  3. Juan Manuel dice:

    @Jorechp

    No, aqu铆 utilizamos otra t茅cnica, destacando solamente el post m谩s reciente :)

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Iniciar sesi贸n