Importar todos los comentarios de WordPress en fichero JSON

Tiempo de lectura estimado: < 1 minuto

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.

Deja un comentario

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar