¿Está la API REST de Wordpress instalada y habilitada en una instalación de Wordpress 4.7 de vainilla?

23

Acabo de instalar Wordpress 4.7. Una de las menciones en el anuncio es que cuenta con una API REST.

Mi entendimiento es:

  • El complemento de API REST de Wordpress ya no es necesario, porque supuestamente ya se ha fusionado con el núcleo en Wordpress 4.7.
  • La API REST de Wordpress está habilitada de forma predeterminada

Sin embargo, observo que en una instalación de Wordpress 4.7, ninguno de los puntos finales parece funcionar (por ejemplo, http://examples.com/wp-json/wp/v2/posts ).

¿Cómo puedo saber si la nueva API REST está realmente activada? ¿Se puede habilitar o deshabilitar la API REST con la interfaz de usuario de Wordpress, o debo instalar un complemento de terceros para hacerlo?

    
pregunta Pep 10.12.2016 - 18:07

3 respuestas

15

4.7 lo tiene habilitado por defecto. La forma fácil de verificar si está funcionando es simplemente visitar la URL de example.com/wp-json, y debe obtener una lista de los puntos finales registrados allí

No hay una opción oficial para desactivarlo, ya que (al menos hubo una charla al respecto, no estoy seguro de si se incluyó en el lanzamiento), algunas funciones básicas dependen de ello.

Las cosas más obvias para verificar si no están funcionando son las reglas de htaccess y si tiene un directorio wp-json

    
respondido por el Mark Kaplun 10.12.2016 - 18:37
7

Tuve 4.7 también pensé que la API REST estaba deshabilitada, pero la URL me engañó. Para ver la URL correcta, busque una línea que se vea así:

enlace rel = ' https://api.w.org/ ' href = ' http://mysite?rest_route=/ ' / & gt ;. Por lo tanto, usar enlace como prefijo resolvió mi problema. Por ejemplo, para recuperar las publicaciones basta con escribir: enlace

No pude encontrar en la documentación que el parámetro de consulta fuera necesario. ¿Soy el único?

    
respondido por el Edward 27.06.2017 - 05:52
0

Veo que ha solucionado el problema pero dejando mi solución aquí, ya que también me funcionó. Tuve este mismo problema al actualizar de beta15 a la api del núcleo en wp 4.7 Resulta que el problema era que tenía algunos complementos que utilizaban una función obsoleta register_api_field que cambié a register_rest_field según esta nota en el registro de cambios:

  

BREAKING CHANGE: Cambie el nombre de register_api_field () a register_rest_field ().

     

Introduce una función register_api_field () para compatibilidad hacia atrás, que   llama a _doing_it_wrong (). Sin embargo, register_api_field () nunca será   comprometido con el núcleo de WordPress, por lo que debe actualizar sus llamadas de función.

    
respondido por el friendlyfire 17.12.2016 - 03:30

Lea otras preguntas en las etiquetas