En este momento estás viendo [NodeJS] Importar todos los comentarios de WordPress en fichero JSON

[NodeJS] 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.

Website |  + posts

Desarrollador web • Desarrollador de software· • Amante del diseño gráfico, diseño 2D/3D


🐙 Creando nuevo tema Wordpress en GitHub


🧪 Experimentos y pruebas varias en Serna Studio Lab

V.Serna

Desarrollador web • Desarrollador de software· • Amante del diseño gráfico, diseño 2D/3D 🐙 Creando nuevo tema Wordpress en GitHub 🧪 Experimentos y pruebas varias en Serna Studio Lab

Deja una respuesta