Añadir un miniblog a WordPress

2/07/2007

tutorialEn mi anterior andadura por la red publiqué un tutorial para poder insertar un miniblog (o asides) a nuestro WordPress, ponerlo de nuevo aquí era una de las tareas pendientes que tenía, y así añadirlo a la sección de tutoriales. Hoy al ver el post de Andrés he visto que no había mejor momento para hacerlo. :)

Lo primero que hay que pensar es: ¿dónde quiero que me salgan las entradas que marque como miniblog? Hay dos opciones, a) podemos tenerlo puesto en un lateral, en una sidebar o en cualquier otro sitio que no tenga nada que ver con el espacio destinado a seguir la cronologí­a de entradas en el weblog; b) podemos ponerlo en el espacio destinado a las entradas del weblog, pero con un estilo diferente al resto de entradas, para que se diferencie lo que es una cosa de lo que es otra.

¿Cuál prefieres?

Opción a

  • Bajarnos el plugin MiniPost.
  • Lo subimos a nuestra carpeta de plugins (wp-content/plugins/).
  • Vamos al panel de administración de nuestro weblog, a la sección Plugins y lo activamos.
  • Abrimos el archivo donde lo queramos poner, por ejemplo, sidebar.php y elegimos sitio. Ahí tenemos que poner algo como esto:
    <?php get_mini_posts($format = '%post% %permalink% %commentcount%', $permalink_text = '#', $zero_comments = '0', $one_comment = '1', $more_comments = '%s', $limit = '5') ?>
  • Escribimos la entrada que queramos y justo debajo marcamos la casilla que dice This is a mini post

Así­ estarí­a todo realizado ya, al publicar aparecería la entrada en la sidebar, como estaba puesto en el ejemplo, y ya tendrí­amos nuestro weblog apunto para poder utilizarlo.

Opción b

Para esta opción se necesita meter unas cuantas lí­neas PHP en nuestro archivo index.php, aquí­ no necesitamos ningún plugin ni nada similar.

  • Creamos una categorí­a, llamémosla “asides”, “miniblog”, “miniweblog”… como queramos; una vez creada tenemos que fijarnos en el ID que se le ha asignado
  • Abrimos nuestro archivo index.php y buscamos la lí­nea que llama a la cabecera, algo como esto:
    <?php
    $blog = 1;
    get_header();
    ?>

    O bien, como esto:

    <?php get_header(); ?>
  • Justo debajo añadimos esto:
    <?php function stupid_hack($str) {
    return preg_replace('|</ul>\s*<ul class="asides">|', '', $str);
    }
    ob_start('stupid_hack');
    ?>

    Esto Básicamente lo que hará es que si tenemos dos <ul class=”asides”> seguidos nos los junte.

  • Ahora tenemos que buscar una lí­nea como esta:
    <?php if (have_posts()) { while (have_posts()) { the_post(); ?>

    Ojo, también puede estar así:

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

    De ser este el caso la reemplazamos por la de arriba.

  • Justo debajo de esa lí­nea añadimos esto:
    <?php if (in_category(ID) && !$single) { ?>
    <ul class="asides">
    <li id="">
    <?php echo wptexturize($post->post_content); echo ' '; ?> <a href="" rel="bookmark" title="Enlace permanente a <?php the_title(); ?>">@</a><?php comments_popup_link('0', '1', '%', '', '')?> <?php edit_post_link((Editar), "-"); ?></li>
    
    </ul>
    
    <?php } else { ?>

    Donde pone ID (en la primera lí­nea) debemos sustituirlo por el número que apuntamos en el primer punto, que es el número de ID que se le asignó a la categoría que habíamos creado.

  • Ahora tenemos que buscar una lí­nea como esta:
    <?php } } else { ?>

    o bien una como esta:

    <?php endwhile; else: ?>

    y reemplazarla por esta:

    <?php } } } else { ?>
  • Ahora deberí­amos ver más abajo algo como esto:
    <?php } ?>

    de no ser así­, que lo que vemos es algo como esto:

    <?php endif; ?>

    lo reemplazamos por la de arriba.

  • Ahora nos vamos al panel de administración, escribimos una entrada y la metemos en la categorí­a que creamos; llámese “miniblog”, “asides”, “minipost” o “pepito”. Al darle a publicar ya tendremos la entrada de una manera diferente al resto.

Opción a y b

Ahora, en ambos casos, para que esté más acorde al diseño de nuestro weblog, podemos editar la hoja de estilos de nuestro weblog (generalmente style.css) creando un estilo .asides para personalizar nuestro miniblog. Disminuir tamaño de las letras, ponerle un fondo, un borde…

Cualquier duda/sugerencia para este mini-tutorial podéis escribirlo en un comentario.

Espero que sirva de algo y tenga utilidad. :)

Nota final

Los ejemplos que puse de texto en lo que tenéis que reemplazar son los dos casos más frecuentes que se suelen ver en los themes de WordPress, pero como la programación es libre, y el tema de estructurar código también lo es, hay infinidad de formas de escribir un código, y que haga lo mismo que lo que yo puse. Si tu theme no tiene el código ni parecido a lo que puse yo, házmelo saber y te echaré un cable en todo lo que pueda. :)

Comentarios: 7 comentarios
Categorías: tutoriales
Etiquetas: -
Vota: bitacoras.com
Guarda: delicious
Envía: twitter - facebook
  • http://www.andresmilleiro.info Andrés Milleiro

    Buen tutorial, veremos si lo consigo :D

  • http://blog.e-saiz.net HeV

    Me ha gustado la idea, es bastante útil para hacer pequeñas reseñas a tutoriales, utilidades web y aplicaciones.

    La guardo en del.icio.us y la tengo en cuenta para el rediseño de mi blog :P

  • Pingback: Probando asides

  • http://www.fractiboom.portaf.net Marcelino

    Muy Interesante esta reseñas teniendo en cuenta a quienes por personalizar descubren cada dia algo nuevo
    y para lo mismo preguntarte si se podria limitar el numero de palabras o caracteres pero siempre conteniendo html
    quisiera aplicarlo en compartir enlaces algo largos y continuar con….
    … Saludos

  • Pingback: Más cambios — Weblog de Javi

  • http://luisluque.es Luisma

    Una duda: podrías explicar un poco como modificar el style.css por ejemplo para que salga tal cual te sale a ti?

  • http://blog.fjp.es Javi

    Claro tal cual está ahora, este es mi CSS:

    ul.asides { width:90%; margin: 0 auto; display: block; background-color: #f7f7f7; border: 1px solid #e0e0e0; -moz-border-radius: 4px; margin-bottom: 15px; margin-top:20px; }
    ul.asides li {list-style:none; margin:5px 10px 5px 10px;}

    Si lo copias en cualquier lado de la hoja de estilos debe irte porque no lleva ningún tipo de id del que deba ir precedida ni nada similar.

    Un saludo.