Sep 262010
 

WordPress guarda toda su información, incluido el contenido de los artículos, en una base de datos. En mi caso tengo instalado WordPress 3.0.1 utilizando la base de datos MySql proporcionada por el alojamiento.

Si queremos interactuar directamente con la base de datos debemos conocer el valor de ‘host‘, ‘user‘, ‘password‘, ‘database‘. (Estos datos son los mismos que hay que rellenar en el fichero ‘wp-config.php‘ durante el proceso de instalación de WordPress).

Conociendo estos valores se puede echar un vistazo con MySqlAdmin para ver como hace WordPress para guardar los artículos y todos los datos de mantenimiento del Blog.

Si así lo hacemos, veremos que en la versión 3.0.1 hay una tabla llamada ‘wp-posts‘ que es la que contiene el grueso de los datos relativos a los artículos (posts). En particular nos vamos a fijar en las columnas ‘ID’ y ‘post-content’. El ‘ID’ coincide con el número del artículo que aparece en los enlaces al mismo. Así si el enlace a un artículo es ‘http://www.ingemoral.es/index.php?p=1044‘, el ‘ID’ del artículo será 1044. La columna ‘post-content‘ almacena todo el contenido del artículo en formato html.

Hemos desarrollado un programa que lee de forma dinámica los artículos de la base de datos de WordPress a medida que se van solicitando.

El programa consta de cuatro ficheros:

  • manualOpenLayers.html : La página html
  • manualOpenLayers.js : Las funciones en javascript y AJAX
  • manualOpenLayers.css : La hoja de estilo del programa
  • testWordpressDb.php : La parte del servidor en php

La página ‘manualOpenLayers.html‘ organiza los paneles de la pantalla y muestra una lista de enlaces.

Hemos dividido la pantalla en ‘panelIzdo’ y ‘panelDcho’. Dentro del panel izquierdo tenemos un elemento ‘attribution’ y una lista de enlaces. En el panel derecho tenemos un elemento ‘titPanelDcho’, destinado a mostrar el título del artículo, y otro elemento ‘contentPanelDcho’ que es donde se muestra el contenido del artículo.

Cada uno de los enlaces guarda el ‘ID’ de un artículo. Cuando se activa el enlace, éste llama a la rutina javascript ‘doRequest( idpost)‘, pasándole como argumento el ‘ID’ del artículo solicitado. La rutina entonces realiza una llamada AJAX al programa ‘testWordpressDb.php‘ pasándole como argumento el ‘ID’ del post solicitado:

http://..../testWordpressDb.php?p=1024

El archivo php contiene las rutinas de acceso a mysql. Busca el articulo ‘ID’ y devuelve una página html con el contenido de la columna ‘post-content’, todo ello en formato texto.

La rutina javascript utiliza el texto recibido para rellenar el contenido html del elemento ‘contentPanelDcho‘.

Los listados de los tres ficheros son los siguientes:

manualOpenLayers.html

manualOpenLayers.css

manualOpenLayers.js

El listado de ‘testWordpressDb.php’ es el siguiente:

El ejemplo funcionando lo puedes ver en el siguiente enlace:

manualOpenLayers.html

Ten en cuenta que hay que reemplazar el valor de las variables globales $host, $user, $pw y $db con los valores correspondientes de tu instalación WordPress.

El ‘ID’ identifica un artículo, aunque el artículo no esté publicado y exista solo como borrador, lo que nos permite utilizar Wrodpress como editor y almacenador de unos artículos que luego publicamos via página Web



Santiago Higuera (26 Septiembre 2010)