Cargar entradas de WordPress / WPML en PHP

Con la programación de mi propio portfolio me encontré el problema de tener que mostrar las últimas entradas de mi blog. El blog está programado bajo WordPress y utiliza el plugin multi-idioma WPML. Con lo cual para obtener las últimas entradas he atacado a las tablas correspondientes donde se almacena la información que me interesa.

La tabla de entradas es, por defecto, wp_posts y la tabla que relaciona cada una de las entradas de wp_posts con cada idioma es wp_icl_translations. La relación viene dada por el campo id de wp_posts y el campo element_id de wp_icl_translations.

El código sería el siguiente:

 
$server = 'nombre del servidor';
$user = 'nombre de usario de la base de datos';
$password = 'contraseña del usuario';
$database = 'nombre de la base de datos';
 
MYSQL_CONNECT($server, $user, $password) or die('Fallo la conexión MySQL.');
MYSQL_SELECT_DB($database) or die('No se encontró la base de datos');
 
 
$posts = MYSQL_QUERY("SELECT p.* FROM wp_posts p, wp_icl_translations t WHERE p.post_status='publish' AND p.post_type='post' AND p.ID=t.element_id AND t.element_type='post_post' AND t.language_code='" . $languageCode . "' ORDER BY p.post_date DESC") or die('Error en la consulta');

Donde languageCode es el código de cada lenguaje que se desee filtrar. Por ejemplo ‘es’ para español, ‘en’ para inglés, etc.

Por último habrá que recorrer $posts y formatear la información que se desee mostrar, por ejemplo el título de la entrada se encontrará en el índice ‘post_title’ de cada elemento de $posts, la fecha en el ‘post_date’, etc.

Etiquedado como

Deja un comentario

Tu dirección de correo electrónico no será publicada.