{"id":72894,"date":"2024-01-10T19:01:24","date_gmt":"2024-01-10T18:01:24","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=72894&#038;preview=true&#038;preview_id=72894"},"modified":"2024-08-23T20:01:17","modified_gmt":"2024-08-23T18:01:17","slug":"node-js-wordpress","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/","title":{"rendered":"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas"},"content":{"rendered":"<p>Como desarrollador web, es probable que est\u00e9s familiarizado con Node.js y WordPress. Node.js es un potente entorno de ejecuci\u00f3n que ejecuta JavaScript fuera del navegador, y WordPress es el principal <a href=\"https:\/\/kinsta.com\/es\/blog\/sitema-de-gestion-de-contenido\/\">sistema de gesti\u00f3n de contenidos (CMS, content management system<\/a><a href=\"https:\/\/kinsta.com\/es\/blog\/sitema-de-gestion-de-contenido\/\">)<\/a>.<\/p>\n<p>Estas plataformas pueden parecer mundos aparte \u2014 <a href=\"https:\/\/kinsta.com\/es\/secciones\/node-js\/\">Node.js<\/a>, con su columna vertebral de JavaScript, y WordPress, un CMS basado en <a href=\"https:\/\/kinsta.com\/es\/secciones\/actualizaciones-php\/\">PHP<\/a>. Sin embargo, pueden trabajar en t\u00e1ndem, gracias a la <a href=\"https:\/\/kinsta.com\/es\/blog\/rest-api-de-wordpress\/\">API REST de WordPress<\/a>. Esta API permite a las aplicaciones Node.js interactuar con WordPress mediante <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-una-peticion-http\/\">peticiones HTTP<\/a>. Proporciona acceso a diversos datos, como usuarios, comentarios, p\u00e1ginas, entradas y otros elementos del sitio.<\/p>\n<p>Pero, \u00bfcu\u00e1l es la ventaja de combinar Node.js y WordPress?<\/p>\n<p>Imagina que tienes un sitio de WordPress y quieres crear un panel de control personalizado. Este panel podr\u00eda mostrar datos en tiempo real de tu sitio, como entradas recientes, recuento de comentarios y actividad de los usuarios.<\/p>\n<p>Aqu\u00ed es donde Node.js desempe\u00f1a un papel fundamental. Esta gu\u00eda te lleva a trav\u00e9s del proceso de configuraci\u00f3n de los endpoints de Node.js. Estos endpoints aprovechan la API REST de WordPress para diversas tareas: actualizaci\u00f3n de entradas, moderaci\u00f3n de comentarios, personalizaci\u00f3n del sitio y administraci\u00f3n personalizada del sitio de WordPress.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Requisitos Previos<\/h2>\n<p>Para seguir esta gu\u00eda, asumimos que tienes:<\/p>\n<ul>\n<li>Conocimientos b\u00e1sicos de Node.js.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/es\/blog\/como-instalar-node-js\/\">Node.js y npm<\/a> instalados en tu ordenador.<\/li>\n<li>WordPress y la <a href=\"https:\/\/www.thunderclient.com\/\">extensi\u00f3n Thunder Client VS Code<\/a> instalados.<\/li>\n<\/ul>\n<h2>Gestionar Entradas de WordPress con Node.js<\/h2>\n<p>En WordPress, las tareas fundamentales incluyen la creaci\u00f3n, actualizaci\u00f3n y eliminaci\u00f3n de entradas. Esta secci\u00f3n explica c\u00f3mo crear endpoints espec\u00edficos para estas acciones, adem\u00e1s de c\u00f3mo realizar peticiones al endpoint <code>\/posts<\/code> para cada operaci\u00f3n.<\/p>\n<h3>Crear una Nueva Entrada en WordPress<\/h3>\n<p>Para crear una nueva entrada en WordPress con la API REST, realiza una solicitud POST al endpoint <code>\/posts<\/code>. En el cuerpo de la solicitud, tienes que proporcionar el contenido de tu entrada de WordPress en formato JSON.<\/p>\n<p>Primero, abre el archivo de tu <a href=\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\">servidor Node.js<\/a>, normalmente llamado <strong>App.js<\/strong>. Aseg\u00farate de que <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-express\/\">Express<\/a> est\u00e1 correctamente configurado en este archivo del servidor. Esto se hace normalmente con la l\u00ednea <code>const app = express()<\/code>, que inicializa Express.<\/p>\n<p>A continuaci\u00f3n, implementa una ruta en tu archivo de servidor para a\u00f1adir una nueva entrada. El c\u00f3digo de esta ruta es el siguiente<\/p>\n<pre><code class=\"language-js\">app.post(\"\/add-post\", async (req, res) =&gt; {\n   try {\n    const postID = req.body.id\n    const resp = await axios.post(`https:\/\/yourdomain.com\/wp-json\/wp\/v2\/posts\/${postID}`, req.body)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n  }\n})<\/code><\/pre>\n<p>Este c\u00f3digo crea un endpoint <code>\/add-post<\/code> en tu aplicaci\u00f3n. Cuando se env\u00eda una solicitud a este endpoint, extrae el ID de la entrada del cuerpo de la solicitud y env\u00eda una solicitud POST a tu sitio de WordPress. Recuerda sustituir <code>https:\/\/yourdomain.com<\/code> por tu dominio de WordPress.<\/p>\n<p>Puedes probar esto utilizando herramientas como Thunder Client en Visual Studio Code. Aseg\u00farate de que el cuerpo JSON de tu solicitud es v\u00e1lido para evitar errores.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/add-post.png\" alt=\"Cuerpo JSON de una solicitud POST al endpoint \/add-post.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Cuerpo JSON de una solicitud POST al endpoint \/add-post.<\/figcaption><\/figure>\n<p>Este enfoque permite una publicaci\u00f3n eficiente y automatizada en tu sitio de WordPress desde tu aplicaci\u00f3n.<\/p>\n<h3>Actualizar una Entrada Existente en WordPress<\/h3>\n<p>Para actualizar una entrada con la API de WordPress, realiza una solicitud PUT al endpoint <code>\/posts<\/code> de tu API de WordPress. Tambi\u00e9n tienes que proporcionar el contenido actualizado de tu entrada de WordPress en formato JSON.<\/p>\n<p>La ruta para actualizar una entrada existente en WordPress es la siguiente:<\/p>\n<pre><code class=\"language-js\">app.put(\"\/update-post\", async (req, res) =&gt; {\n  try {\n    const postID = req.body.id                    \n      \n    const resp = await axios.put(`https:\/\/yourdomain.com\/wp-json\/wp\/v2\/posts\/${postID}`, req.body)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n  }\n})<\/code><\/pre>\n<p>Por ejemplo, puedes actualizar un post con un ID de <code>3<\/code> en WordPress con la siguiente petici\u00f3n en Thunder Client:<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/update-post.png\" alt=\"Cuerpo JSON de una petici\u00f3n PUT al endpoint \/update-post.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Cuerpo JSON de una petici\u00f3n PUT al endpoint \/update-post.<\/figcaption><\/figure>\n<h3>Borrar una Entrada en WordPress<\/h3>\n<p>Para eliminar una entrada en WordPress, realiza una petici\u00f3n DELETE al endpoint <code>\/posts<\/code> utilizando el ID \u00fanico de la entrada que quieres eliminar.<\/p>\n<pre><code class=\"language-js\">app.delete(\"\/delete-post\", async (req, res) =&gt; {\n  try {\n    const postID = req.body.id                \n        \n    const resp = await axios.delete(`https:\/\/yourdomain.com\/wp-json\/wp\/v2\/posts\/${postID}`)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n    }\n})<\/code><\/pre>\n<p>El resultado deber\u00eda ser el siguiente<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/delete-post.png\" alt=\"Cuerpo JSON de una solicitud DELETE al endpoint \/delete-post.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Cuerpo JSON de una solicitud DELETE al endpoint \/delete-post.<\/figcaption><\/figure>\n<h2>Moderar Comentarios de WordPress con Node.js<\/h2>\n<p>La <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/comments\/\">API de Comentarios<\/a> te permite acceder y manipular los comentarios de tu sitio de WordPress desde una aplicaci\u00f3n. Dentro de esa API hay un endpoint para crear, listar, leer, actualizar y eliminar comentarios en un sitio de WordPress.<\/p>\n<p>Supongamos que no quieres que tu sitio de WordPress publique comentarios con la frase \u00abS\u00edgueme\u00bb En este ejemplo, puedes utilizar una expresi\u00f3n <code>regex<\/code> para comprobar cada comentario en busca de esa frase antes de publicarlo.<\/p>\n<p>Para ello, utiliza el siguiente c\u00f3digo:<\/p>\n<pre><code class=\"language-js\">app.post(\"\/add-comment\", async (req, res) =&gt; {\n  try {\n    let regex = \/follow me\/i;    \n    let comment = req.body.comment                \n      \n    if(regex.test(comment)) throw \"Oops! Contains the forbidden word\"  \t\t\n\n    const resp = await axios.post(`https:\/\/yourdomain\/wp-json\/wp\/v2\/comments`, req.body)\n\t\n  if(resp.status !== 200) throw \"Something went wrong\"  \t\t\n\t\n  } catch (err) {      \n  \n  console.log(err)\n        \n    }\n})<\/code><\/pre>\n<p>Con esta ruta, s\u00f3lo se publican en el sitio web los comentarios que no incluyen la frase \u00abS\u00edgueme\u00bb, mientras que los comentarios como el siguiente no se publican:<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/add-comment.png\" alt=\"Cuerpo JSON de una petici\u00f3n POST al endpoint \/add-comment\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Cuerpo JSON de una petici\u00f3n POST al endpoint \/add-comment excluyendo los comentarios con \u00abS\u00edgueme\u00bb.<\/figcaption><\/figure>\n<h2>Personalizaci\u00f3n de los Sitios para los Usuarios<\/h2>\n<p>Al almacenar las preferencias de los usuarios y determinar su pa\u00eds, puedes personalizar tus p\u00e1ginas de WordPress para cada usuario.<\/p>\n<p>En Node.js, puedes almacenar los datos del usuario en cookies de la ruta de inicio de sesi\u00f3n o registro de tu aplicaci\u00f3n backend y colocar la cookie en su navegador web, de esta forma:<\/p>\n<pre><code class=\"language-js\">app.post(\"\/sign-up\", async (req, res) =&gt; {\n  \/\/ Sign up user\n    res.cookie(\"cookie_id\", 123456)\n    res.cookie(\"lang\", req.body.language)\n\t\n    res.status(200).json(\"Logged in.\")\n})<\/code><\/pre>\n<p>Al registrarse, obtienes el idioma preferido del usuario y lo env\u00edas al navegador en forma de cookies junto con la direcci\u00f3n <code>cookie_id<\/code>.<\/p>\n<p>Ahora, con el idioma almacenado en el navegador, puedes utilizarlo para obtener las entradas de WordPress en el idioma del usuario. Esto requiere que primero traduzcas tus entradas en WordPress. Una forma f\u00e1cil de hacerlo es <a href=\"https:\/\/wpml.org\/documentation\/related-projects\/using-wordpress-seo-with-wpml\/\" target=\"_blank\" rel=\"noopener noreferrer\">integrando WPML y Yoast SEO<\/a> en tu sitio de WordPress.<\/p>\n<p>Una vez integrados, se crean diferentes subcarpetas para otros idiomas:<\/p>\n<ul>\n<li><strong>midominio.com\/en\/<\/strong><\/li>\n<li><strong>midominio.com\/es\/<\/strong><\/li>\n<li><strong>midominio.com\/fr\/<\/strong><\/li>\n<\/ul>\n<p>Al obtener las entradas de WordPress, puedes obtener la lista de entradas en el idioma preferido del usuario, ya que se almacena en las cookies.<\/p>\n<pre><code class=\"language-js\">app.get(\"\/get-posts\", async (req, res) =&gt; {\n  try { \n    const lang = req.cookies.lang\n       \n    const resp = await axios.get(`https:\/\/mydomain.com\/${lang}\/wp-json\/wp\/v1\/posts`)\n\t\n  if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n    }\n})<\/code><\/pre>\n<p>De este modo, obtienes la lista de entradas en funci\u00f3n del idioma que el usuario especific\u00f3 al registrarse.<\/p>\n<h2>Utilizar la Administraci\u00f3n Personalizada<\/h2>\n<p>Ampliando el endpoint del usuario, puedes crear un panel de administraci\u00f3n personalizado para controlar los usuarios, roles y permisos de WordPress. La <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/users\/\">API de Usuarios<\/a> te permite acceder y manipular la informaci\u00f3n de los usuarios de tu sitio de WordPress desde una aplicaci\u00f3n que funciona como la API de comentarios.<\/p>\n<p>Por ejemplo, si quieres actualizar el rol de un usuario a \u00abAdministrador\u00bb, \u00e9sta es la ruta que puedes utilizar:<\/p>\n<pre><code class=\"language-js\">app.put(\"\/update-user\", async (req, res) =&gt; {\n  try {\n    const userID = req.body.id                \n\t\n    const resp = await axios.put(`https:\/\/yourdomain\/wp-json\/wp\/v2\/users\/${userID}`, req.body)\n\t\n    if(resp.status !== 200) throw \"Something went wrong\"\n       \n  } catch (err) {        \n    console.log(err)        \n   }\n})<\/code><\/pre>\n<p>En la solicitud, pasa un objeto que contenga el ID del usuario cuyo registro quieres actualizar, as\u00ed como los nuevos datos.<\/p>\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/update-user.png\" alt=\"Cuerpo JSON de una solicitud PUT al endpoint \/update-user\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Cuerpo JSON de una solicitud PUT al endpoint \/update-user<\/figcaption><\/figure>\n<p>Cuando hayas terminado de desarrollar tu servidor Node.js. Siempre puedes alojarlo f\u00e1cilmente en el <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Alojamiento de Aplicaciones de Kinsta<\/a>.<\/p>\n<h2>Resumen<\/h2>\n<p>Integrar Node.js con tu sitio de WordPress abre el potencial para una mayor funcionalidad. Puedes actualizar entradas, moderar comentarios, establecer roles de usuario y a\u00f1adir personalizaci\u00f3n basada en el pa\u00eds de tu usuario.<\/p>\n<p>Aparte de las funciones que ya hemos cubierto, puedes a\u00f1adir b\u00fasquedas avanzadas, manipulaci\u00f3n de temas y revisiones de entradas. No dudes en consultar el <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/\" target=\"_blank\" rel=\"noopener noreferrer\">Handbook<\/a> de la API REST y empezar a explorar.<\/p>\n<p><em>\u00bfQu\u00e9 opinas de la API REST de WordPress? \u00bfLa has utilizado en alguno de tus proyectos? Cu\u00e9ntanoslo en la secci\u00f3n de comentarios m\u00e1s abajo<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como desarrollador web, es probable que est\u00e9s familiarizado con Node.js y WordPress. Node.js es un potente entorno de ejecuci\u00f3n que ejecuta JavaScript fuera del navegador, y &#8230;<\/p>\n","protected":false},"author":199,"featured_media":72895,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1290,1311],"class_list":["post-72894","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-headless-cms","topic-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Uso de Node.js con WordPress para Crear API Din\u00e1micas - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas\" \/>\n<meta property=\"og:description\" content=\"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-10T18:01:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-23T18:01:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas\",\"datePublished\":\"2024-01-10T18:01:24+00:00\",\"dateModified\":\"2024-08-23T18:01:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\"},\"wordCount\":1249,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\",\"name\":\"Uso de Node.js con WordPress para Crear API Din\u00e1micas - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"datePublished\":\"2024-01-10T18:01:24+00:00\",\"dateModified\":\"2024-08-23T18:01:17+00:00\",\"description\":\"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Uso de Node.js con WordPress para Crear API Din\u00e1micas - Kinsta\u00ae","description":"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/","og_locale":"es_ES","og_type":"article","og_title":"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas","og_description":"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.","og_url":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2024-01-10T18:01:24+00:00","article_modified_time":"2024-08-23T18:01:17+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","twitter_creator":"@Kinsta_ES","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tiempo de lectura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas","datePublished":"2024-01-10T18:01:24+00:00","dateModified":"2024-08-23T18:01:17+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/"},"wordCount":1249,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/","url":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/","name":"Uso de Node.js con WordPress para Crear API Din\u00e1micas - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","datePublished":"2024-01-10T18:01:24+00:00","dateModified":"2024-08-23T18:01:17+00:00","description":"Explora la integraci\u00f3n de Node.js con WordPress en nuestra completa gu\u00eda sobre la creaci\u00f3n de API din\u00e1micas para aplicaciones personalizadas.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2024\/01\/how-to-use-nodejs-with-wordpress.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/node-js-wordpress\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/es\/secciones\/node-js\/"},{"@type":"ListItem","position":3,"name":"Node.js y WordPress: Creaci\u00f3n de APIs Din\u00e1micas para Aplicaciones Personalizadas"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/72894","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=72894"}],"version-history":[{"count":9,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/72894\/revisions"}],"predecessor-version":[{"id":76244,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/72894\/revisions\/76244"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/translations\/es"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72894\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/72895"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=72894"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=72894"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=72894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}