Hola!.
Hoy vamos a ver como importar todos los comentarios de nuestro sitio en WordPress en formato JSON para luego hacer lo que creamos conveniente.
Lo haremos con Node, usando mysql2 para conectarnos a nuestra bbdd y ejecutar la consulta.
En mi caso, usar la API REST de WordPress usando Axios, solo me permitía importar los comentarios aprobados :-(.
Así que, al lío!.
Vamos a instalar 2 paquetes usando npm: mysql2 y dotenv para las credenciales.
npm install mysql2
npm instal dotenv
Ahora crearemos 2 ficheros: main.js y .env. En el fichero .env, tendremos lo siguiente:
DB_HOST=your_host DB_USER=your_user DB_PASSWORD=your_password DB_NAME=your_db_name DB_PORT=default_mysql_port
Y ahora, en nuestro achivo main.js, crearemos el script:
const mysql = require('mysql2/promise'); const fs = require('fs').promises; require('dotenv').config(); async function getComments() { let connection; try { connection = await mysql.createConnection({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, port: process.env.DB_PORT, }); const sqlQuery = 'SELECT * FROM your_wp_table_comments ORDER BY comment_ID ASC'; const [results, fields] = await connection.query(sqlQuery); await fs.writeFile('comments.json', JSON.stringify(results, null, 4), 'utf-8'); console.log('Comments saved!'); } catch (error) { console.error('Something went wrong:', error.message); } finally { if (connection) { await connection.end(); } } } getComments();
Y con esto, ya podremos organizar las tareas que necesitemos llevar a cabo en nuestro sitio con WordPress.