HaitiIcono RSS

votar Cómo implementar asides en un blog con WP

icono impresora Por Antonio Cambronero 23.09.2005 en Wordpress, tips

Los asides son esas anotacione breves, generalmente con enlaces interesantes, que intercalamos entre los posts normales de blogpocket. A petición de algunos de mis lectores y como también los implementaremos en el nuevo eCuaderno, les explico aquí cómo se hace. Resumiendo:

  1. Crear una categoría llamada “asides”. Apuntar el ID.
  2. Modificar el index.php de la plantilla.
  3. Publicar el aside como si fuera un post cualquiera, simplemente asignándole la categoría “asides”.

Lo primero es crear una categoría denominada, por ejemplo, “asides”. Yo la llamo “blogpocket links”, pero para gustos están los colores. Anótese el número identificativo con el que WP la crea (el llamado ID).

El truco consiste en modificar el script index.php de la plantilla activa para que cuando WP vaya a mostrar un post, asociado a la categoría “asides”, lo muestre de una forma distinta a como lo hace si la categoría es cualquier otra. Si ustedes no quieren que aparezca “asides” en la lista de categorías, se puede eliminar fácilmente pues la función de WP que lo lleva a cabo contempla el parámetro para no visualizar ciertas categorías.

Hay que encontrar la siguiente línea en index.php y comentarla:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

Comentarla de la siguiente forma:
<?php //if (have_posts()) : while (have_posts()) : the_post(); ?>

Aunque también la pueden encontrar de la siguiente forma (les muestro las líneas ya anuladas):

<?php //if (have_posts()) : ?>
<?php //while (have_posts()) : the_post(); ?>

Y, justo debajo, añadir lo siguiente:

<?php
if ($posts)
{
function stupid_hack($str)
{
return preg_replace(‘|</ul>\s*</ul class=”linklog”>|’, ”, $str);
}
ob_start(’stupid_hack’);
foreach($posts as $post)
{
start_wp();
?>

La siguiente línea debería ser la instrucción que muestra la fecha del post. Es decir, ésta:

<h2 class=”date-header”><?php the_time(‘j-n-Y’) ?></h2>

Pues justo encima de ella, hay que incluir lo que viene a continuación:

<?php if ( in_category(67) && !is_single() ) : ?>

    < li id=”p< ?php the_ID(); ?>”>< ?php echo wptexturize($post->post_content); ?>  
    <small>< ?php comments_popup_link(‘Sin comentarios »’, ‘1 comentario »’, ‘% comentarios »’); ?></small>  < a href=”< ?php the_permalink(); ?>”
    title=”Enlace permanente: < ?php echo wptexturize(strip_tags(stripslashes($post->post_title), ”)); ?>”
    rel=”bookmark”>#< /a>< /li>

< ?php else: // If it’s a regular post or a permalink page ?>

El anterior bloque de sentencias escribe el aside, por lo que pueden personalizarlo como quieran. Supongan que “67″ es el ID asignado por WP al crear la categoría de los asides. El bloque anterior es el que tengo yo en blogpocket.

Finalmente, al final de index.php hay que sustituir:

<?php endwhile; else: ?>
<p><?php _e(‘Sorry, no posts matched your criteria.’); ?>
<?php endif; ?>

Por lo siguiente:

<?php endif; // end if in category ?>
<?php
}
}
else
{
echo ‘<p>Sorry no posts found.</p>’;
}
?>

En blogpocket lo tenemos de la siguiente forma:

<?php endif; // end if in category ?>
< ?php
} ?>
< div class=”navigation”>
< div class=”alignleft”>< ?php posts_nav_link(”,”,’« Posts anteriores’) ?>< /div>
<div class=”alignright”>< ?php posts_nav_link(”,’Posts siguientes »’,”) ?>< /div>
< /div>
< < ?
}
else
{ ?>
< h2 class=”center”>No encontrado< /h2>
< <p class=”center”>< ?php _e(“Lo siento, pero busca algo que no tenemos.”); ?>< /p>
< ?php include (TEMPLATEPATH . “/searchform.php”); ?>
< ? } ?>
</p>

Y eso es todo. ¡A disfrutar de sus asides!.

  • email
  • Bitacoras.com
  • Twitter
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • Wikio
  • Ping.fm
  • Technorati

También puedes leer:

Tiny Url para este post: http://tinyurl.com/df3map

12 comentarios a “Cómo implementar asides en un blog con WP”

  1. Egg McMuffin Dice:

    Antonio, eres un maestro. Gracias por responder a mi consulta de la mejor manera.
    Un abrazo desde Argentina!


  2. tintachina Dice:

    ¿Y estas cositas funcionarían también en Drupal? O:)


  3. blogpocket Dice:

    No conozco Drupal, pero al ser PHP supongo que se podrá tocar igual.


  4. mg ; ) Dice:

    Qué bueno, pero qué bueno. A ver cuando puedo dedicar un rato a esto !!!


  5. Gilberto Dice:

    Ojala lo pueda implementar en blogsome.com y wordpress. De todos modos gracias nuevamente


  6. felipe.lavin Dice:

    Ojo con las comillas y los espacios en el código :P


  7. Montando Mini Posts en nuestro Blog | aNieto2K Dice:

    [...] Como implementar asides en tu blog [...]


  8. Cristo Dice:

    En la versión 2.6 de Wordpress no te muestra el id de la categoría, como puedo averiguarla?


  9. Maxi Dice:

    Si la muerta Cristo: anda a administrar>categorias>(aqui la categoria que quieras ver) y dale clic al link y ahi en el ulr sale el numero de categoria.

    Ahora una pregunta Antonio a que se refieren con “Hay que encontrar la siguiente línea en index.php y comentarla:” Comentar = reemplazar o que? disculpen que no entienda mucho de esto.


  10. Antonio Cambronero Dice:

    Maxi, “comentarla” significa anularla. Es decir, poner delante las dos barras inclinadas (“//”).


  11. victor Dice:

    no maxi comentar es como lo hiciste con anterioridad
    picar el botn que dice comentar, jejejeje claro que si


  12. Jose Perez Dice:

    Hola

    Solo un par de dudas, en mi theme no aparece esto

    Lo que mas se le parece es esto

    Lo reemplazo?


Haz un comentario:

Los comentarios están moderados y puede trasncurrir un tiempo hasta que se publiquen

XHTML: Se pueden utilizar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>