Personalizar El Error 404 En WordPress

Como ya lo había mencionado en alguna ocasión este blog esta en continuo desarrollo, la mayor parte del mismo consiste en modificaciones menores basadas en pruebas de diversos plugins disponibles pero el día de hoy quiero compartir con ustedes una modificación “manual” que hice.

Verán alguna vez vi que un sitio (ahora no recuerdo cual) mostraba enlaces “relacionados” cuando alguien intentaba entrar en una pagina que no existía (en la famosa pagina del error 404), así que decidí hacer algo similar.

Al principio intente hacer uso de algún plugin (a estas alturas ya deben saber que soy muy perezoso y si se puede me ahorro trabajo) pero al no encontrar uno que funcionara como yo quería (tampoco es que buscara mucho en realidad) decidí modificar la pagina del error 404 yo mismo para que mostrara lo que yo quería.

Bueno pues, dejemos el choro a parte y comencemos con lo bueno.

Lo primero que debemos hacer es localizar nuestra pagina de error 404, esta la hallaremos en la carpeta wp-content/themes/nombreDelTema/ y obviamente se trata de la pagina 404.php

Ahora bien antes de empezar a moverle hagan un respaldo que no me hago responsable si la cagan si algo deja de funcionar 😛

Ya que tengamos nuestro respaldo pasaremos a modificarla dejándola con algo similar al siguiente código…

<h2>Ups!</h2>
   <p>Los siento pero lo que buscas no se encuentra aquí U_U, aunque tal vez te interese alguno de los siguientes post...</p>
   <ul>
      <?php
         global $post; // variable para cargar cada uno de los post
         $myposts = get_posts('numberposts=10&orderby=rand'); // get_posts devuelve un "arreglo" de posts, en este caso 10 posts de forma aleatoria
         foreach($myposts as $post) : // recorremos el arreglo de posts y en cada linea ponemos el link y el titulo...
      ?>
         <!-- Link (the_permalink) y titulo (the_title) -->
         <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
      <?  endforeach;?>
   </ul>
   <p>O si lo prefieres busca algo diferente a continuación <img src='http://www.pinguinoerrante.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ...</p>
   <!-- Adicionalmente ponemos el cuadro de búsqueda -->
   <input type="text"  onfocus="doClear(this)" value="<?php _e('Palabra(s) a buscar...'); ?>" name="s" id="s" size="25" /> <input type="submit" name="submit"  value="<?php _e('Buscar'); ?>" />p

Como pueden ver la modificación es bastante sencilla y deja un buen resultado, pueden ver como queda aquí o bien tipeando cualquier articulo inexistente dentro del blog :p

Para mas información sobre get_posts pueden consultar el Codex de WordPress