Portada » WordPress REST API: qué es y cómo utilizarla
WordPress · APIs · Desarrollo web · JavaScript

WordPress REST API: qué es, cómo funciona y cómo utilizarla

La API REST de WordPress permite conectar un sitio web con aplicaciones, servicios externos y sistemas desarrollados con JavaScript, PHP u otros lenguajes de programación. Aprende cómo funcionan sus endpoints, cómo consultar publicaciones, crear integraciones, autenticar solicitudes y desarrollar rutas personalizadas.

¿Qué es la WordPress REST API? La WordPress REST API es una interfaz que permite consultar, crear, actualizar y eliminar recursos de un sitio WordPress mediante solicitudes HTTP y respuestas en formato JSON. Su dirección habitual comienza con /wp-json/. Permite conectar WordPress con aplicaciones externas, sistemas de gestión, tiendas online, aplicaciones JavaScript, plataformas móviles y otros servicios digitales.

¿Qué es la API REST de WordPress?

La WordPress REST API es una interfaz de programación que permite que WordPress intercambie información con otras aplicaciones mediante solicitudes HTTP. Los datos se envían y reciben principalmente en formato JSON, una estructura ligera y compatible con prácticamente todos los lenguajes de programación modernos.

En términos prácticos, permite que un programa consulte las publicaciones de WordPress, obtenga información de páginas, gestione categorías, acceda a medios o realice operaciones sobre recursos cuando dispone de la autenticación y los permisos necesarios.

La API también es una parte fundamental del funcionamiento del editor de bloques de WordPress. Además, permite desarrollar sitios desacoplados, aplicaciones web, paneles de administración personalizados e integraciones entre WordPress y otros sistemas.

¿Qué permite hacer WordPress REST API?

  • Consultar publicaciones, páginas y categorías.
  • Obtener imágenes, archivos y datos multimedia.
  • Buscar contenido de un sitio WordPress.
  • Crear y actualizar publicaciones con permisos adecuados.
  • Integrar WordPress con aplicaciones JavaScript.
  • Conectar tiendas, CRM, sistemas ERP y plataformas externas.
  • Crear endpoints propios para exponer datos específicos.
  • Construir aplicaciones móviles y plataformas desacopladas.

Para desarrolladores y empresas que trabajan con WordPress en Chile, esta tecnología puede servir para integrar contenidos de un sitio corporativo con un sistema comercial, un catálogo externo, un panel de operaciones o una aplicación propia.

¿Cómo funciona WordPress REST API?

La comunicación se realiza mediante una solicitud HTTP dirigida a una ruta de la API. WordPress procesa la petición, comprueba los permisos cuando corresponde y devuelve una respuesta, habitualmente en JSON.

El proceso general funciona de esta manera:

  1. Una aplicación prepara una solicitud hacia una URL de WordPress.
  2. La solicitud utiliza un método HTTP como GET, POST o DELETE.
  3. WordPress identifica la ruta y el endpoint correspondiente.
  4. El sistema procesa los parámetros y verifica la autenticación y los permisos necesarios.
  5. WordPress devuelve una respuesta JSON o un mensaje de error.
  6. La aplicación interpreta los datos y actualiza su interfaz o ejecuta otra tarea.

¿Cuál es la URL base de la REST API?

En una instalación habitual con enlaces permanentes habilitados, la API utiliza la ruta /wp-json/.

https://tusitio.cl/wp-json/

Por ejemplo, para consultar las publicaciones de un sitio:

https://tusitio.cl/wp-json/wp/v2/posts

Puedes abrir la dirección base en el navegador para explorar el índice de la API y descubrir los namespaces y las rutas registradas. La estructura concreta puede variar según los plugins, temas y tipos de contenido instalados.

Importante: si tu instalación utiliza una configuración sin enlaces permanentes tradicionales, WordPress también permite acceder a las rutas mediante el parámetro rest_route.

¿Qué son las rutas y los endpoints de WordPress REST API?

Una ruta es la dirección que identifica un recurso dentro de la API. Un endpoint es la operación asociada a esa ruta mediante un método HTTP.

Por ejemplo, la ruta /wp/v2/posts/25 identifica una publicación específica. Según el método HTTP utilizado y los permisos disponibles, esa ruta puede permitir consultar, modificar o eliminar el recurso.

Ejemplo de ruta y endpoint

https://tusitio.cl/wp-json/wp/v2/posts/25
Elemento Descripción
https://tusitio.cl Dominio del sitio WordPress.
/wp-json/ Ruta base de la API.
wp/v2 Namespace y versión de la API.
posts Recurso de publicaciones.
25 Identificador de la publicación.

Una misma ruta puede admitir distintos métodos HTTP. Por eso, no basta con conocer la URL: también debes saber qué operación admite y qué permisos exige.

Métodos HTTP utilizados por WordPress REST API

Los métodos HTTP indican qué tipo de operación quiere realizar una aplicación sobre un recurso.

Método Función Ejemplo
GET Consultar recursos o información. Obtener publicaciones.
POST Crear recursos o enviar datos para una operación. Crear una publicación.
PUT Actualizar un recurso, cuando el endpoint lo admite. Modificar una publicación.
PATCH Aplicar una actualización parcial, cuando está admitida. Modificar determinados campos.
DELETE Eliminar o enviar a la papelera un recurso, según el endpoint. Eliminar una publicación.
OPTIONS Consultar información sobre los métodos y capacidades de una ruta. Descubrir operaciones disponibles.

La operación concreta depende del endpoint, de la configuración de WordPress y de los permisos del usuario autenticado.

Endpoints principales de WordPress REST API

WordPress incluye endpoints para administrar distintos tipos de recursos. La mayoría de las rutas principales se organizan dentro del namespace wp/v2.

Publicaciones

GET /wp-json/wp/v2/posts

Obtiene una colección de publicaciones.

Documentación de posts

Páginas

GET /wp-json/wp/v2/pages

Consulta las páginas disponibles en el sitio.

Documentación de pages

Categorías

GET /wp-json/wp/v2/categories

Obtiene las categorías disponibles.

Documentación de categorías

Etiquetas

GET /wp-json/wp/v2/tags

Consulta las etiquetas asociadas a los contenidos.

Documentación de etiquetas

Medios

GET /wp-json/wp/v2/media

Permite consultar archivos multimedia y sus metadatos.

Documentación de media

Usuarios

GET /wp-json/wp/v2/users

Consulta los datos de usuarios que sean visibles según los permisos y el contexto de la solicitud.

Documentación de usuarios

Búsqueda

GET /wp-json/wp/v2/search

Busca recursos de WordPress mediante una consulta.

Documentación de búsqueda

Estas rutas son una parte del sistema. Los plugins y desarrollos personalizados pueden registrar sus propios namespaces y endpoints.

WordPress REST API con JavaScript moderno

Una de las formas más prácticas de consumir la API es mediante JavaScript. El navegador puede realizar solicitudes HTTP usando fetch(), procesar las respuestas JSON y actualizar dinámicamente la interfaz.

Esta técnica permite crear componentes que muestran publicaciones, catálogos, noticias o información de WordPress sin tener que recargar toda la página.

Las características modernas más utilizadas son:

  • fetch() para realizar solicitudes HTTP.
  • async y await para trabajar con operaciones asíncronas.
  • URLSearchParams para construir parámetros de consulta.
  • try...catch para controlar errores.
  • AbortController para cancelar solicitudes cuando corresponda.
  • JSON.stringify() para enviar datos en formato JSON.

A diferencia de ejemplos antiguos basados exclusivamente en jQuery AJAX, fetch() forma parte de la plataforma web moderna y permite realizar solicitudes sin incorporar una biblioteca adicional.

Ejemplo: consultar publicaciones con fetch()

El siguiente ejemplo obtiene las últimas cinco publicaciones de un sitio WordPress y muestra sus títulos y enlaces. La consulta utiliza la API pública de lectura.

JavaScript moderno · Consultar publicaciones
const API_ROOT = new URL(
    '/wp-json/wp/v2/',
    window.location.origin
);

async function obtenerPublicaciones() {
    const url = new URL('posts', API_ROOT);

    url.search = new URLSearchParams({
        per_page: '5',
        order: 'desc',
        orderby: 'date'
    });

    const response = await fetch(url, {
        headers: {
            Accept: 'application/json'
        }
    });

    if (!response.ok) {
        throw new Error(
            `Error HTTP: ${response.status}`
        );
    }

    return await response.json();
}

obtenerPublicaciones()
    .then(posts => {
        console.log('Publicaciones:', posts);
    })
    .catch(error => {
        console.error(
            'No fue posible consultar WordPress:',
            error
        );
    });

La respuesta contiene un arreglo de objetos JSON. Cada publicación incluye propiedades como el identificador, título, contenido, enlace, estado y fecha, según el contexto de acceso.

Mostrar publicaciones en una página HTML

También puedes utilizar los datos para construir una lista de contenidos. Este ejemplo crea los elementos mediante métodos del DOM y utiliza textContent para insertar el título como texto:

HTML · Contenedor de publicaciones
<div id="lista-publicaciones"></div>
<p id="estado-publicaciones"></p>
JavaScript · Renderizar datos de WordPress
const contenedor = document.querySelector(
    '#lista-publicaciones'
);

const estado = document.querySelector(
    '#estado-publicaciones'
);

async function mostrarPublicaciones() {
    estado.textContent = 'Cargando publicaciones...';

    try {
        const posts = await obtenerPublicaciones();

        contenedor.replaceChildren();

        if (posts.length === 0) {
            estado.textContent = 'No hay publicaciones disponibles.';
            return;
        }

        for (const post of posts) {
            const article = document.createElement('article');
            const title = document.createElement('h3');
            const link = document.createElement('a');

            link.href = post.link;
            link.textContent = post.title.rendered;

            title.append(link);
            article.append(title);
            contenedor.append(article);
        }

        estado.textContent = '';
    } catch (error) {
        estado.textContent =
            'No se pudieron cargar las publicaciones.';

        console.error(error);
    }
}

mostrarPublicaciones();
Seguridad: utiliza textContent para mostrar textos recibidos desde la API cuando no necesitas interpretar HTML. No insertes contenido externo sin sanitizarlo mediante innerHTML.

¿Qué son async y await en JavaScript?

async y await permiten escribir código asíncrono con una estructura más sencilla de leer. Son especialmente útiles cuando una aplicación debe esperar respuestas de WordPress antes de actualizar la interfaz.

Una función declarada con async devuelve una promesa. Dentro de ella, await permite esperar la resolución de otra promesa sin bloquear el hilo principal del navegador.

Ejemplo básico

async function consultarAPI() {
    try {
        const response = await fetch(
            '/wp-json/wp/v2/posts'
        );

        if (!response.ok) {
            throw new Error('La solicitud falló');
        }

        const data = await response.json();

        console.log(data);

    } catch (error) {
        console.error(error);
    }
}

consultarAPI();

En este ejemplo, el programa espera primero la respuesta HTTP y luego la conversión de los datos a JSON. Si ocurre un error, el bloque catch permite gestionarlo.

¿Por qué usar await en una consulta REST?

  • Facilita la lectura del código asíncrono.
  • Permite controlar los errores con try...catch.
  • Ayuda a mantener un orden claro entre solicitudes dependientes.
  • Evita crear cadenas extensas de callbacks.
  • Facilita construir interfaces que dependen de datos remotos.

¿Cómo crear publicaciones mediante WordPress REST API?

Además de consultar información, la API puede crear publicaciones cuando la solicitud está autenticada y el usuario tiene los permisos necesarios.

Para crear una publicación se utiliza normalmente el endpoint:

POST /wp-json/wp/v2/posts

El cuerpo de la solicitud puede incluir datos como el título, contenido, estado, categorías y otros campos admitidos por el endpoint.

Ejemplo de creación con JavaScript

El siguiente ejemplo está pensado para ejecutarse dentro de WordPress, con un usuario autenticado y un Nonce REST válido:

JavaScript · Crear una publicación
async function crearPublicacion() {
    const response = await fetch(
        `${CiborgREST.root}wp/v2/posts`,
        {
            method: 'POST',

            headers: {
                'Content-Type': 'application/json',
                'X-WP-Nonce': CiborgREST.nonce
            },

            body: JSON.stringify({
                title: 'Publicación creada mediante la API',
                content: 'Contenido enviado desde JavaScript.',
                status: 'draft'
            })
        }
    );

    const result = await response.json();

    if (!response.ok) {
        throw new Error(
            result.message || 'No fue posible crear la publicación'
        );
    }

    return result;
}

crearPublicacion()
    .then(post => {
        console.log('Publicación creada:', post);
    })
    .catch(error => {
        console.error(error);
    });

El ejemplo crea un borrador. Esto permite comprobar la integración sin publicar automáticamente contenido en el sitio.

Importante: no copies este ejemplo a una página pública sin implementar un mecanismo adecuado de autorización. Un usuario autenticado debe tener los permisos necesarios para crear publicaciones. El Nonce no reemplaza la comprobación de capacidades del usuario.

Autenticación y seguridad en WordPress REST API

La API permite consultar ciertos recursos públicos sin iniciar sesión. Sin embargo, las operaciones sobre contenido privado, la creación de publicaciones, la modificación de datos y otras tareas administrativas requieren autenticación y autorización.

Los mecanismos de autenticación dependen del tipo de aplicación y de dónde se ejecuta el código.

1. Autenticación mediante cookies y Nonce

Es el método habitual para solicitudes realizadas desde el propio WordPress cuando el usuario ha iniciado sesión. WordPress utiliza sus cookies de autenticación y un Nonce asociado a la acción wp_rest.

Para solicitudes AJAX manuales, el Nonce se envía normalmente mediante el encabezado X-WP-Nonce.

Generar el Nonce en PHP

El siguiente ejemplo carga un archivo JavaScript y facilita la URL base de la REST API y el Nonce:

PHP · Configurar una integración JavaScript
function ciborg_cargar_rest_script() {

    wp_enqueue_script(
        'ciborg-rest-app',
        get_stylesheet_directory_uri() . '/assets/js/rest-app.js',
        array(),
        '1.0.0',
        true
    );

    wp_add_inline_script(
        'ciborg-rest-app',
        'window.CiborgREST = ' . wp_json_encode(
            array(
                'root'  => esc_url_raw( rest_url() ),
                'nonce' => wp_create_nonce( 'wp_rest' )
            )
        ) . ';',
        'before'
    );
}

add_action(
    'wp_enqueue_scripts',
    'ciborg_cargar_rest_script'
);

En el archivo rest-app.js puedes utilizar:

console.log(CiborgREST.root);
console.log(CiborgREST.nonce);

Esta configuración es apropiada para código ejecutado dentro del mismo sitio WordPress y bajo una sesión autenticada. Debes comprobar que el usuario tenga la capacidad requerida para cada operación.

2. Application Passwords o contraseñas de aplicación

WordPress incorpora contraseñas de aplicación para autenticar integraciones externas mediante HTTPS. Se generan desde el perfil del usuario y permiten que una aplicación se conecte sin utilizar la contraseña principal de acceso al escritorio.

Son especialmente útiles para conexiones entre servidores, automatizaciones, aplicaciones externas y procesos que necesitan acceder a recursos protegidos.

Nunca expongas una Application Password en JavaScript del navegador. El código que se ejecuta en el cliente puede ser inspeccionado por los usuarios. Guarda estas credenciales en el servidor, utiliza HTTPS y limita los permisos de la cuenta conectada.

Ejemplo de autenticación desde PHP con cURL

Este ejemplo representa una conexión servidor a servidor. Las credenciales se leen desde variables de entorno y no se incluyen directamente en el código público:

PHP · Solicitud autenticada desde servidor
<?php

$username = getenv( 'WP_API_USER' );
$app_password = getenv( 'WP_API_APP_PASSWORD' );

if ( ! $username || ! $app_password ) {
    throw new RuntimeException(
        'Faltan las credenciales de la API.'
    );
}

$url = 'https://tusitio.cl/wp-json/wp/v2/posts';

$authorization = base64_encode(
    $username . ':' . $app_password
);

$ch = curl_init( $url );

curl_setopt_array( $ch, array(
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => array(
        'Authorization: Basic ' . $authorization,
        'Accept: application/json'
    ),
    CURLOPT_TIMEOUT => 20
) );

$response = curl_exec( $ch );
$status = curl_getinfo( $ch, CURLINFO_HTTP_CODE );

if ( $response === false ) {
    $error = curl_error( $ch );
    curl_close( $ch );

    throw new RuntimeException( $error );
}

curl_close( $ch );

if ( $status < 200 || $status >= 300 ) {
    throw new RuntimeException(
        'La API respondió con HTTP ' . $status
    );
}

$data = json_decode( $response, true );

print_r( $data );

En producción, configura las variables de entorno fuera del directorio público, protege los registros y evita imprimir credenciales o encabezados de autorización en mensajes de error.

¿Cómo utilizar WordPress REST API desde PHP?

PHP puede consumir la REST API mediante cURL o las herramientas HTTP disponibles en WordPress. Si el código se ejecuta dentro de una instalación WordPress, las funciones de su API HTTP permiten realizar solicitudes sin depender directamente de cURL.

Consultar publicaciones desde PHP

PHP · wp_remote_get()
<?php

$url = 'https://tusitio.cl/wp-json/wp/v2/posts?per_page=5';

$response = wp_remote_get(
    $url,
    array(
        'timeout' => 15,
        'headers' => array(
            'Accept' => 'application/json'
        )
    )
);

if ( is_wp_error( $response ) ) {
    error_log( $response->get_error_message() );
    return;
}

$status = wp_remote_retrieve_response_code( $response );

if ( $status !== 200 ) {
    error_log( 'Error HTTP: ' . $status );
    return;
}

$body = wp_remote_retrieve_body( $response );

$posts = json_decode( $body, true );

if ( ! is_array( $posts ) ) {
    error_log( 'La respuesta JSON no es válida.' );
    return;
}

foreach ( $posts as $post ) {
    echo esc_html( $post['title']['rendered'] ) . '<br>';
}

Es importante comprobar si la solicitud devuelve un error, verificar el código HTTP y validar que la respuesta JSON tenga la estructura esperada antes de utilizar sus datos.

¿Cuándo usar PHP y cuándo JavaScript?

PHP JavaScript
Procesos ejecutados en el servidor. Interacciones en el navegador.
Integraciones que utilizan credenciales privadas. Consultas públicas y actualización dinámica de interfaces.
Automatizaciones y tareas internas. Aplicaciones web interactivas.
Conexiones con CRM, ERP y otros sistemas protegidos. Interfaces desacopladas y componentes dinámicos.

¿Cómo crear un endpoint personalizado en WordPress?

La REST API no se limita a las rutas que vienen instaladas por defecto. También puedes crear endpoints propios para exponer información específica de un plugin, una aplicación o una funcionalidad de tu proyecto.

Para registrar una ruta personalizada se utiliza la función register_rest_route(), normalmente conectada al hook rest_api_init.

Ejemplo: crear una ruta REST personalizada

Este ejemplo registra una ruta que devuelve un mensaje de diagnóstico. Está protegida para usuarios que tengan la capacidad de editar publicaciones.

PHP · Registrar un endpoint propio
<?php

add_action( 'rest_api_init', function () {

    register_rest_route(
        'ciborg/v1',
        '/estado',
        array(
            'methods'  => 'GET',

            'callback' => function ( $request ) {

                return rest_ensure_response(
                    array(
                        'success' => true,
                        'message' => 'API disponible',
                        'namespace' => 'ciborg/v1'
                    )
                );

            },

            'permission_callback' => function () {

                return current_user_can( 'edit_posts' );

            }
        )
    );

} );

Una vez registrado, el endpoint utiliza la ruta:

https://tusitio.cl/wp-json/ciborg/v1/estado

Para acceder correctamente debes iniciar una sesión o autenticar la solicitud mediante un mecanismo compatible y contar con la capacidad requerida.

¿Qué es permission_callback?

El parámetro permission_callback determina quién puede acceder al endpoint. WordPress utiliza esta función para comprobar los permisos antes de ejecutar el callback principal.

Si una ruta debe ser pública y solo entrega datos que pueden consultarse libremente, puede utilizarse __return_true. En cambio, para operaciones privadas debes establecer una comprobación de capacidades adecuada, como current_user_can().

No publiques endpoints privados sin protección. La autenticación identifica al usuario, mientras que la autorización determina si puede realizar una acción concreta. Ambas deben estar correctamente consideradas.

Cómo conectar tipos de contenido personalizados con REST API

WordPress permite registrar tipos de contenido personalizados o Custom Post Types. Para que un tipo de contenido pueda utilizar los endpoints de la REST API y ser compatible con el editor de bloques, debe configurarse con la opción show_in_rest.

Ejemplo: registrar un tipo de contenido llamado proyectos

PHP · Custom Post Type con REST API
<?php

function ciborg_registrar_proyectos() {

    register_post_type(
        'proyectos',
        array(
            'labels' => array(
                'name' => 'Proyectos',
                'singular_name' => 'Proyecto'
            ),

            'public' => true,

            'show_in_rest' => true,

            'has_archive' => true,

            'supports' => array(
                'title',
                'editor',
                'thumbnail',
                'excerpt'
            )
        )
    );

}

add_action(
    'init',
    'ciborg_registrar_proyectos'
);

Al registrar este tipo de contenido, WordPress puede exponerlo mediante el namespace wp/v2. La ruta habitual será:

https://tusitio.cl/wp-json/wp/v2/proyectos

Esto permite construir catálogos, directorios, fichas de servicios y otras estructuras de datos que pueden consumirse desde aplicaciones externas.

Consejo de desarrollo: si utilizas metadatos personalizados, revisa también su registro y configuración para REST API. No todos los metadatos se exponen automáticamente. Define qué información debe estar disponible y qué permisos requiere.

Paginación, filtros y rendimiento de la API

Cuando un sitio contiene muchas publicaciones, no es recomendable solicitar todo el contenido en una sola petición. WordPress incorpora parámetros para limitar resultados, filtrar información y consultar distintas páginas.

Parámetros habituales de consulta

Parámetro Función Ejemplo
per_page Indica cuántos recursos se devuelven. ?per_page=5
page Selecciona la página de resultados. ?page=2
search Filtra resultados mediante una búsqueda. ?search=wordpress
slug Consulta por slug. ?slug=mi-articulo
orderby Define el criterio de ordenamiento. ?orderby=date
order Orden ascendente o descendente. ?order=desc
_embed Solicita recursos relacionados incrustados. ?_embed=1

Ejemplo: consultar publicaciones por página

https://tusitio.cl/wp-json/wp/v2/posts?per_page=10&page=2

WordPress limita normalmente per_page a un máximo de 100 elementos por solicitud. Para consultar colecciones grandes, debes recorrer las páginas disponibles.

Cómo conocer el número de páginas

Las respuestas paginadas incluyen dos encabezados HTTP importantes:

  • X-WP-Total: número total de recursos encontrados.
  • X-WP-TotalPages: cantidad total de páginas disponibles.

Puedes leerlos desde JavaScript para construir una paginación dinámica:

async function consultarPagina(numero = 1) {

    const url = new URL(
        'posts',
        API_ROOT
    );

    url.search = new URLSearchParams({
        per_page: '10',
        page: String(numero)
    });

    const response = await fetch(url);

    if (!response.ok) {
        throw new Error(
            `Error HTTP ${response.status}`
        );
    }

    const posts = await response.json();

    const total = response.headers.get(
        'X-WP-Total'
    );

    const totalPages = response.headers.get(
        'X-WP-TotalPages'
    );

    return {
        posts,
        total: Number(total),
        totalPages: Number(totalPages)
    };
}

const resultado = await consultarPagina(1);

console.log(resultado.posts);
console.log('Total:', resultado.total);
console.log('Páginas:', resultado.totalPages);

Utilizar paginación, limitar campos cuando corresponda y evitar solicitudes repetidas permite reducir el consumo de recursos y mejorar la experiencia de las aplicaciones conectadas a WordPress.

Errores frecuentes al utilizar WordPress REST API

Cuando una solicitud falla, la API normalmente entrega un código HTTP y una respuesta JSON que ayudan a identificar el problema.

Código Significado habitual Qué revisar
400 Solicitud incorrecta. Parámetros, formato JSON y validación de campos.
401 Falta autenticación válida. Credenciales, cookies o método de autenticación.
403 Acceso no autorizado. Permisos, capacidades y Nonce.
404 Ruta o recurso no encontrado. Endpoint, identificador y registro de la ruta.
405 Método HTTP no admitido. Verbo HTTP disponible para el endpoint.
500 Error interno del servidor. Errores PHP, plugins, código personalizado y registros del servidor.

Problemas habituales y soluciones

  • REST API devuelve 404: revisa la ruta, los enlaces permanentes y si el endpoint está registrado.
  • REST API devuelve 401: comprueba el método de autenticación y sus credenciales.
  • Respuesta 403: verifica el Nonce y la capacidad del usuario.
  • Error CORS: revisa la configuración del servidor y los encabezados de acceso entre orígenes.
  • Respuesta vacía: comprueba los filtros, parámetros y permisos del recurso consultado.
  • JSON inválido: verifica si algún plugin o código personalizado está generando salida adicional o errores PHP.
CORS no es autenticación. Permitir solicitudes desde un navegador de otro origen no concede permisos para consultar o modificar recursos privados. La autenticación y autorización deben mantenerse correctamente configuradas.

¿Para qué sirve WordPress REST API en proyectos reales?

La principal ventaja de la API REST es que separa el acceso a los datos de la interfaz con la que interactúan los usuarios. Esto facilita conectar WordPress con otros sistemas y construir experiencias personalizadas.

Aplicaciones prácticas

  • Aplicaciones web: mostrar contenido de WordPress mediante interfaces JavaScript o frameworks como React y Next.js.
  • Aplicaciones móviles: utilizar WordPress como fuente de publicaciones, páginas y otros recursos.
  • Ecommerce: conectar información del catálogo o procesos específicos con otras plataformas, respetando las capacidades de cada integración.
  • CRM y ERP: intercambiar información entre un sitio WordPress y sistemas de gestión empresarial.
  • Directorios: mostrar negocios, servicios, perfiles y registros mediante endpoints personalizados.
  • Automatización: conectar WordPress con flujos de trabajo y servicios externos.
  • Paneles personalizados: construir interfaces propias para consultar y gestionar contenido.
  • Arquitectura headless: utilizar WordPress como backend de contenidos y otra tecnología como frontend.

¿Qué es WordPress Headless?

WordPress Headless es una arquitectura en la que WordPress se utiliza principalmente como sistema de gestión de contenidos, mientras que la interfaz pública se desarrolla en otra tecnología.

Por ejemplo, WordPress puede almacenar páginas y publicaciones, mientras que una aplicación desarrollada con React o Next.js consulta esos contenidos mediante la REST API y se encarga de mostrarlos al usuario.

Esta arquitectura ofrece flexibilidad, pero también implica responsabilidades adicionales: renderizado, SEO técnico, caché, rendimiento, rutas, autenticación y mantenimiento de la aplicación frontend.

Preguntas frecuentes sobre WordPress REST API

Respuestas directas a las consultas más habituales sobre la API REST de WordPress, su funcionamiento, autenticación, endpoints y desarrollo con JavaScript.

Documentación oficial y recursos para desarrolladores

Para profundizar en la implementación de la REST API, consulta la documentación oficial de WordPress y las referencias de tecnologías web:

Guía técnica de Ciborg sobre WordPress REST API. Los ejemplos son ilustrativos y deben adaptarse a la versión de WordPress, configuración del servidor, permisos y arquitectura de cada proyecto. Antes de utilizar operaciones de escritura en producción, implementa autenticación, autorización, validación de datos y pruebas en un entorno controlado.

Carrito de compra
Scroll al inicio