Hace ya tiempo que se aceptó como asides (o mini-posts) el formato que Boja publicó en La Mate por un Yogur, este blog usa el mismo sistema. Este sistema esta muy bien, pero hace que los posts individuales (donde comentamos) se vean muy poca cosa, una línea y yasta 😀
Así que he echo una pequeña (muy pequeña) modificación, con la cual podremos extender nuestros asides sin alterar el resultado desde la página de inicio.
Código
La idea de este sistema es controlar el ID
de una categoría dentro del Loop de WordPress y hacer mini-posts (asides) a todos los artículos que se encuentren en esa categoría, para ello usamos in_category(), que se encarga de comprobar si exste en la categoría especificada. Por ese motivo es importante conocer el ID
de nuestra categoría de asides. Para ello nos iremos al panel de administración, Gestionar > Categorías, y a la izquierda tenemos la primera columna que contiene el ID
de cada categoría.
Una vez con la categoría, empezamos a editar los ficheros de nuestro theme, generalmente el fichero index.php, aunque puede variar dependiendo del theme.
Insertamos en la parte superior del fichero la función que parseará nuestros asides.
function stupid_hack($str) { return preg_replace('|</ul>\s*<ul class="asides">|', '', $str); } ob_start('stupid_hack');
Una vez hecho esto, nos dirigimos al Loop y justo despues del comienzo del bucle while (have_posts()) : the_post();
, añadimos el resto del hack.
<?php if (in_category(25) && !is_single()) { ?>
<ul class="asides">
<li id="p<?php the_ID(); ?>">
<?php echo wptexturize(get_the_content('')); ?>
<?php comments_popup_link('(0)', '(1)', '(%)'); ?>
<?php edit_post_link('(e)'); ?>
</li>
</ul>
Como podeis ver en negrita está el pequeño cambio que he hecho xDDD, es una chorrada, pero hace su función. La función get_the_content()
es la versión de the_content() que nos devuelve una cadena en vez de pintar el contenido directamente.
Modo de uso
Ahora para escribir un aside en nuestro blog, únicamente usaremos el tag <!--more-->
para diferenciar lo que queremos mostrar en la principal y lo que mostraremos como individual.
12 comentarios, 4 referencias
+
#