WordPress: listar subpáginas dentro de una página

Si quieres que cuando se visualice una página se muestren también sus páginas “hijas” puedes usar el siguiente código en tu plantilla:

<?php
  if($post->post_parent)
  $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
  else
  $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
  if ($children) { ?>
  <ul>
  <?php echo $children; ?>
  </ul>
  <?php } ?>

Sacado del codex de WordPress.

Plugin WordPress para Entradas relacionadas – YARPP

Después de probar varios plugins para mostrar entradas relacionadas con resultados bastante pobres he dado con Yet Another Related Posts Plugin. Parece que esta ver sí que he acertado con el bueno. En las pruebas que he hecho las entradas relacionadas están realmente relacionadas, así que me parece que finalmente me quedo con éste.

Es fácil de instalar (subir, activar y listo) y sus resultados son buenos ¿qué más se puede pedir?

Las opciones que he usado para este plugin han sido:

– Maximum number of related posts: 5

– Match threshold: 3 (cuanto más alto el número más restringidos son los resultados)

– Titles: consider.

– Bodies: consider.

– Tags: consider.

– Categories: consider.

– Automatically display related posts? [Activado]

– Before / after related entries:

<h2>Entradas relacionadas</h2><ol> / </ol>

– Before / after each post:

<li> / </li>

Mis categorías han desaparecido al actualizar a WordPress 2.6

Bueno, nada mejor que decidirse a actualizar la versión de WordPress justo antes de irse a la cama. Después de la actualización me he dado cuenta que todas las categorías han desparecido. Vamos a ver cómo arreglarlo.

El problema parece ser que las tablas: wp_terms y wp_term_taxonomy. La primera debería en la columnas ‘name’ y ‘slug’ las etiquetas para las url y la segunda contener en la columna ‘description’ el nombre de la categoría tal y como se muestra en la columna derecha. Pero no es así, esos tres campos están en blanco.

No importa demasiado (bueno, a mi cansado cuerpo y a mis ojos sí que les importa), tengo una copia de seguridad de la base de datos (¿hay alguien que no esté todavía convencido de la importancia de las copias de seguridad?).

Aviso: Solución para “Expertos” (requiere cierta soltura en el manejo de PHPMyAdmin)

1) Lo primero que voy a hacer es instalar en mi servidor MySQL local la copia de seguridad que tengo (afortunadamente) con mi buen amigo PHPMyAdmin.

2) Exporto a un fichero la tabla “wp_categories” que es donde tengo la información que me falta.

3) La importo en el servidor donde está alojado nideaderedes.

4) Relleno la tabla wp_terms usando la siguiente consulta:

update wp_terms wt, wp_categories wc set wt.name=wc.category_nicename, wt.slug=wc.category_nicename where wt.term_id=wc.cat_ID

5) Relleno la tabla wp_term_taxonomy usando:

update wp_term_taxonomy wt, wp_categories wc set wt.description=wc.cat_name where wt.term_id=wc.cat_ID

6) Borro la tabla “wp_categories”.

Y con esto, si no me olvido de nada ya debería funcionar (aquí parece que funciona todo bien). No me hago responsable si no se entiende bien o si hay algún error; son las 00:30 y llevo delante de la pantalla desde las 7:00 am así que las quejas… contándselas al que le importe :-P.

Code autoescape: Plugin para mostrar código en un Post

Si has intentado alguna vez publicar un trozo de código fuente en WordPress te habrás enfrentado a una de sus limitaciones: no viene “de serie” preparado para esta tarea. Por ejemplo si intentas introducir algún símbolo <, %gt; WordPress se los “come”. También tendrás problemas si intentas poner un ejemplo en HTML con etiquetas sin cerrar como por ejemplo:


  
    Lorem ipsum dolor sit amet
  

...

También convertirá los caracters :) :( :D :-? a sus respectivos smilies.

La solución para éste y otros problemas: usar Code Autoescape.

Instalación

1) Es muy sencillo de instalar, tan sólo tienes que bajarte el fichero autoescape.txt,

2) renombrarlo como autoescape.php,

3) subirlo al directorio de plugins de WordPress

4) y activarlo desde el panel de control, sección Plugins.

Actualización (02/08/2008): En la última actualización a WordPress 2.6 he tenido algunos problemas con este plugin y he decidido cambiarlo por el WP-Syntax. Este plugin permite, entre otras cosas, resaltar el código para unos cuantos lenguajes de programación.