Hace un tiempo tuvimos que cambiar la estructura de permalinks de wordpress del formato http://dominio/año/mes/contenido a http://dominio/contenido y decidimos hacer que el nginx hiciera un 301 del formato viejo al nuevo.

Es algo tan sencillo como esto:

rewrite "^/[\d]{4}/[\d]{2}/(.*)\/$" /$1/ permanent;

Espero que os sea útil.

Enviar correos desde WordPress es muy sencillo utilizando la función wp_mail.

Lo mejor es que veáis un ejemplo.

$email="usuario@dominio.com";
$titulo="Subject del Email de prueba";
$mensaje="Email de prueba. bla bla bla";
$headers = 'From: Remitente ' . "\r\n";
wp_mail($email, $titulo, $mensaje, $headers);

En este ejemplo podemos ver los cuatro campos principales. Lo que hace es enviar un email en modo texto, si queremos enviarlo en html debemos añadir un filtro para indicar que el contenido se enviará en html.

add_filter('wp_mail_content_type',create_function('', 'return "text/html"; '));

En el ejemplo:

$email="usuario@dominio.com";
$titulo="Subject del Email de prueba";
$mensaje="Email de prueba. bla bla bla";
$headers = 'From: Remitente ' . "\r\n";
add_filter('wp_mail_content_type',create_function('', 'return "text/html"; '));
wp_mail($email, $titulo, $mensaje, $headers);

Si además queremos enviar un fichero adjunto al mensaje sólo tenemos que añadir un parámetro más a la función wp_mail.

$email="usuario@dominio.com";
$titulo="Subject del Email de prueba";
$mensaje="Email de prueba. bla bla bla";
$headers = 'From: Remitente ' . "\r\n";
$fichero="/home/rastreador/mi_fichero";
$atach= array($fichero);
add_filter('wp_mail_content_type',create_function('', 'return "text/html"; '));
wp_mail($email, $titulo, $mensaje, $headers,$atach);

WordPress muestra en las cabeceras de todos los blogs la versión que estás ejecutando. Si quieres añadir una pequeña capa más de seguridad a tu instalación de WordPress lo mejor es eliminar esa información.
Una forma sencilla y rápida de hacer esto es añadir al final de tu fichero functions.php del tema este código:

remove_action('wp_head', 'wp_generator');


Se espera que este mes salga a la luz la última versión de WordPress. Para mi va a ser también la versión de salida de mi nuevo proyecto, del que os hablaré en breve, por lo que es especialmente importante.
La lista de novedades de esta versión es bastante grande así que sólo os voy a comentar algunas de las que más me han llamado la atención.

  • Desaparece WordPress Mu y se integra en wordpress 3.0.
  • Ya no existirá el usuario admin. El administrador será un usuario con cualquier otro nombre.
  • Nuevos temas por defecto, ya iba siendo hora de que los renovaran.
  • Cambia el escritorio por defecto.
  • Menús personalizados.
  • BuddyPress incluido en WordPress, un paso lógico ya que hasta ahora sólo se podía instalar con WordPress MU.
  • Nuevos tipos de «páginas» definidos por el usuario además de las entradas del blog o las páginas, como por ejemplo una galería de imágenes.

Si quieres ver la lista completa puedes ir a codex.wordpress.org

Ya está disponible la versión 2.9 de WordPress y en Ayuda WordPress han publicado un lista con las novedades de esta versión.

  1. Deshacer/papelera, de manera que si borras una entrada o un comentario puedes recuperarlo..
  2. Editor de imágenes integrado con el que recortar, editar, rotar y escalar imágenes.
  3. Actualización en lote y comprobación de compatibilidad de plugins, con lo que podrás actualizar varios plugins a la vez y poder ver antes de actualizar si los plugins son compatibles con tu versión de WordPress.
  4. Incrustación sencilla de vídeos solo con pegar la URL, gracias a Oembed. Puedes incrustar contenido de YouTube, Daily Motion, Blip.tv, Flickr, Hulu, Viddler, Qik, Revision3, Scribd, Google Video, Photobucket, PollDaddy, y WordPress.tv (más próximamente).
  5. Soporte por defecto de rel=canonical para mejorar el SEO.
  6. Optimización automática de la base de datos desde el fichero wp-config.php solo con añadir define('WP_ALLOW_REPAIR', true);.
  7. Los temas pueden tener ?miniaturas de entrada? para tener una imagen asociada a la entrada.

  8. Nueva tabla commentmeta.
  9. Tipos de entrada personalizados, algo que estaba previsto para la versión 3.0.
  10. Carpetas de temas personalizadas, muy util para esos plugins que llevan temas incorporados.
  11. TinyMCE WYSIWYG y Simplepie actualizados.
  12. Las barras laterales ahora pueden tener descripciones para que sea más fácil identificarlas.
  13. Posibilidad de especificar plantillas de categoría no solo por ID, como antes, sino por URL, lo que facilitará a los desarrolladores de temas realizar personalizaciones con las categorías.
  14. Los registros y perfiles son extensibles, para que recojas más información (cuentas de Twitter, etc).
  15. La API XML-RPC se ha mejorado para poder cambiar la opción de registro de usuario.
  16. Creación de galerías a medida, con nuevos atributos con los que incluir o excluir adjuntos de cualquier otra entrada, no solo de la actual.
  17. Cuando estás editando archivos con el editor de plugins o temas este recuerda la posición y te lleva al sitio donde estabas cuando guardaste.
  18. El bookmarlet Publica esto se ha mejorado y es ahora mucho más rápido, para que puedas publicar allá donde te encuentres navegando en la red.
  19. Las taxonomías personalizadas se incluyen en el fichero de exportación WXR y también se importan correctamente.
  20. Mejores filtros y hooks para los extractos, emoticonos, peticiones HTTP, perfiles de usuario, enlaces a autor, taxonomías, soporte SSL,  nubes de etiqueras, query_posts y WP_Query

Ayer me dediqué a actualizar todos los blogs con wordpress que administro ya que tenía desde la versión 2.7 a la 2.8.1 y la verdad es que con todos los problemas de seguridad que están saliendo merecía la pena dedicarle un rato a la tarea.

Al intentar actualizar directamente desde el enlace que te aparece en el blog en alguno de ellos me dio el error: «Datos de conexión: Para realizar la acción solicitada se necesitan los datos de la conexión.»

datos_conexion_wordpress

La verdad es que como error me pareció bastante raro ya que nunca había tenido problemas para actualizar hasta hoy y no suelo utilizar servidor ftp ya que accedo directamente por ssh a la máquina y trabajo directamente en ella por shell. Curiosamente en esos blogs tampoco me dejaba actualizar los plugins.

Después de buscar información en foros especializados la mayor parte de los sitios comentaban que podría ser por la traducción, pero tampoco me cuadraba ya que me pasaba lo mismo en alguno que tenía sin la traducción al español.

Al final me puse a actualizarlo «a mano» y me di cuenta de que en todos los que fallaban no tenía correctamente puestos los permisos de algunos ficheros y directorios, por lo que con un simple sudo chown -R www-data.www-data * en cada home de la instalación de los blogs y problema solucionado. A veces las cosas mas sencillas y estupidas te parecen cosa de magia.

Espero que si alguno de vosotros le pasa esto mismo se acuerde de este pequeño post.

Saludos.

Acabo de ver en Ayuda WordPress un post sobre un plugin para wordpress que nos permite emitir facturas desde el propio wordpress y me ha parecido de los más original.

WordPress ha ido evolucionando desde un simple gestor de blogs a un completo cms con infinidad de temas y plugins que nos permiten hacer casi cualquier cosa.

El plugin lo podéis descargar desde la página del autor.

WassUp es un plugin para WordPress que nos permite tener estadísticas de nuestros visitantes en tiempo real.

Ya había probado varios pero este me parece que es el mejor, permite:

  • Ip / hostname
  • referer
  • arañas
  • Buscador utilizado
  • keywords
  • SERP (search engine result page)
  • Sistema operativo / idioma / navegador
  • Páginas vistas
  • User agent
  • Gráficos para clicks, páginas vistas y spam

Aquí tenéis varias imágenes de mi instalación.

wassup_detalles_visitante

Podemos espiar de donde vienen nuestros visitantes en tiempo real a través de google maps.

wassup_espiar_visitantes

O directame.

wassup_visitantes_linea

Incluso un Top Ten de visitas.

wassup_top_ten1