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

© 2024 - Serna Studio
A %d blogueros les gusta esto:

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