¿Cómo obtener valores sin procesar en la última versión de WordPress Rest API v2?

3 minutos de lectura

avatar de usuario
SAF

Cuando solicitaba publicaciones/páginas/medios con WordPress Rest API v2, solía recibir un valor ‘sin procesar’ y ‘representado’ para campos como título, guid y contenido. Con la última versión de WordPress, los campos ‘en bruto’ parecen haber desaparecido. Necesito los datos sin procesar ya que esto es estable en el tiempo. Los complementos pueden agregar (cambiar) datos a los datos renderizados.

¿Hay algún parámetro (encabezado) que deba proporcionar en la llamada a la API para obtener datos sin procesar?

Datos originales devueltos (fragmento):

Array
(
    [id] => 1016
    2022 => 2017-11-08T16:18:29
    [date_gmt] => 2017-11-08T15:18:29
    [guid] => Array
        (
            [rendered] => https://example.com/wp-content/uploads/2017/03/image.jpg
            [raw] => https://example.com/wp-content/uploads/2017/03/image.jpg
        )

    [modified] => 2017-11-08T16:18:39
    [modified_gmt] => 2017-11-08T15:18:39
    [slug] => 888
    [status] => inherit
    [type] => attachment
    https://stackoverflow.com/questions/50601970/how-to-get-raw-values-in-latest-wordpress-rest-api-v2 => https://example.com/review/shopper/attachment/test/
    How to get raw values in latest WordPress Rest API v2? => Array
        (
            [raw] => shopper image
            [rendered] => shopper image
        )

Últimos datos de la API de WP:

Array
(
    [id] => 1016
    2022 => 2017-11-08T16:18:29
    [date_gmt] => 2017-11-08T15:18:29
    [guid] => Array
        (
            [rendered] => https://example.com/wp-content/uploads/2017/03/image.jpg
        )

    [modified] => 2017-11-08T16:18:39
    [modified_gmt] => 2017-11-08T15:18:39
    [slug] => 888
    [status] => inherit
    [type] => attachment
    https://stackoverflow.com/questions/50601970/how-to-get-raw-values-in-latest-wordpress-rest-api-v2 => https://example.com/review/shopper/attachment/test/
    How to get raw values in latest WordPress Rest API v2? => Array
        (
            [rendered] => shopper image
        )

La URL de la API:

https://ejemplo.com/wp-json/wp/v2/media/32

Editar: estoy usando oAuth1 para la autenticación (https://wordpress.org/plugins/rest-api-oauth1/). Dado que los valores sin procesar no se devuelven sin autenticar, empiezo a sospechar que este complemento tiene problemas para enviar la autenticación durante la recopilación de información.

avatar de usuario
zigang

Tienes que pasar ‘contexto’ = ‘editar’ para obtener el contenido sin procesar.

O puedes usar este complemento: https://github.com/w1z2g3/wordpress-plugins/blob/master/post-raw-content.php

  • Para futuros googlers: ¡Esta es la respuesta al problema de que no obtienes los comentarios HTML del bloque de Gutenberg! Necesitas cambiar el contexto.

    – Flo Pinguin

    18 de noviembre de 2020 a las 21:51

  • pasar como? añadiendo ?context=edit? Con eso obtengo la respuesta: {"code":"rest_forbidden_context","message":"Sorry, you are not allowed to edit this post.","data":{"status":401}} incluso si la publicación está publicada y no está protegida con contraseña. Pruebas en WP 5.7.2

    – DrLightman

    25 oct 2021 a las 9:31

  • Su sitio web está protegido contra escritura. Puede intentar habilitar la autenticación básica con este complemento: github.com/WP-API/Basic-Auth luego puede pasar un nombre de usuario y una contraseña para editar sus publicaciones.

    – zigang

    26 oct 2021 a las 13:30


  • ¡Gracias! Esto funcionó para mí. acabo de agregar ?context=edit a la URL de solicitud. En vez de https://example.com/wp-json/wp/v2/posts solía https://example.com/wp-json/wp/v2/posts?context=edit.

    –Ed Shway

    28 de diciembre de 2021 a las 11:18


¿Ha sido útil esta solución?