Cómo Leer Datos de Tipos de Entradas Personalizadas en Modo Headless CMS

12 sept 2021, 23:50:05
Vistas: 194
Votos: 0

Estoy desarrollando mi sitio con dos partes: el CMS Headless en un subdominio donde se ingresa el contenido, y el dominio principal donde muestro los datos. Solo WordPress está instalado en el subdominio, no en el dominio principal. En el subdominio, creé un tipo de entrada personalizado llamado Staff, y los elementos dentro son Miembros. Noté que no puedo usar la URL...

https://example.com/wp-json/wp/v2/posts

(API REST de WP)

...para leer estos elementos. Al revisar la documentación, veo que puedo acceder como...

https://example.com/wp-json/wp/v2/staff

Cuando uso /staff, me muestra los campos principales de la entrada, pero no ninguno de los grupos de campos personalizados. (Nota: estoy usando el plugin Custom Post Types de TotalPress.org).

¿Cómo obtengo las propiedades de campos personalizados de un miembro del staff en su registro? Puedo acceder a alguien como:

https://example.com/wp-json/wp/v2/staff/?slug=john-smith

...pero no hay campos personalizados ahí que haya adjuntado a este registro.

¿Cómo uso la API REST para obtener los campos personalizados adjuntos a un tipo de entrada personalizada?

5
Comentarios

¿has declarado que están disponibles a través de la API REST al registrarlos? No hay código en tu pregunta

Tom J Nowell Tom J Nowell
13 sept 2021 00:39:30

@TomJNowell Estoy usando el plugin Custom Post Types de TotalPress.org, lo que me ahorra la codificación. Se encarga del registro. También descubrí por qué /staff no funcionaba en la API: era por cómo lo declaré. Editaré esa parte de la publicación al menos. Simplemente no puedo obtener los campos personalizados.

Volomike Volomike
13 sept 2021 01:14:32

Pensé que lo habías usado y luego lo abandonaste según tu pregunta. El soporte para plugins de terceros está fuera de tema aquí. Este no es un lugar para obtener ayuda con el plugin Custom Post Types.

Tom J Nowell Tom J Nowell
13 sept 2021 09:16:20

Cabe destacar que la respuesta canónica a esto es asegurarse de que los enlaces permanentes estén actualizados y que el CPT en cuestión tenga show_in_rest establecido como verdadero, pero debido a que utilizaste un plugin para construir tus tipos de publicación, esa solución no está disponible para ti. Dicho esto, los tipos de publicación personalizados son sencillos y existen generadores de código en línea que escriben el código por ti basándose en entradas y casillas de verificación. No necesitas un plugin para registrar automáticamente tipos de publicación por ti

Tom J Nowell Tom J Nowell
13 sept 2021 09:18:30

Y tienes que registrar los metadatos para que aparezcan en la API REST

Tom J Nowell Tom J Nowell
13 sept 2021 09:19:06
Todas las respuestas a la pregunta 1
3

Encontré la solución sin código. Instalé el Complemento Rest API Helper y ahora expone los campos personalizados en un tipo de publicación determinado.

13 sept 2021 01:31:59
Comentarios

interesante definición de "sin código", quizás quisiste decir "sin escribir ningún código por mí mismo" :)

Mark Kaplun Mark Kaplun
13 sept 2021 05:17:37

solo ten en cuenta que el plugin no parece estar mantenido. Podría seguir funcionando correctamente por mucho tiempo pero estás asumiendo un riesgo

Mark Kaplun Mark Kaplun
13 sept 2021 05:20:49

@MarkKaplun 'sin código que hice yo mismo' -- sí, tienes razón ahí. Y gracias por el otro consejo.

Volomike Volomike
16 sept 2021 21:05:31