La API JSON de WordPress devuelve solo errores 404

3 minutos de lectura

avatar de usuario
Simón

soy nuevo en WordPress y me gustaría usar el JSON API enchufar.

Así que lo puse en mi repositorio de complementos y lo activé, pero cuando intento mostrar el Json respuesta accediendo a la http://localhost/wordpress/wp-json/posts url obtengo un 404 error.

Probablemente me esté perdiendo algo, pero de acuerdo con la documentación, debería ser así de simple. ¿Alguna idea de lo que estoy haciendo mal?

avatar de usuario
eric

Es un problema de mod_rewrite.

La razón es una de estas en tu .htaccess:

  • inexistente
  • permisos incorrectos
  • jodido

Prueba el documentación de htaccess en WordPress para su .htaccess:

## BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

  • Muchas gracias. Funcionó perfectamente para mí. Todo estaba funcionando bien y comenzó a enfrentar un problema de repente solo debido al archivo .htaccess. Muchas gracias por ahorrarme tiempo.

    – usuario2067787

    9 de diciembre de 2019 a las 12:26

  • cuando .htaccess, los permisos y las extensiones de php están bien, podemos jugar con las configuraciones del sitio. En la carpeta conf disponible en los sitios que acabo de agregar <Directory /var/www/html/mysite/> con Options Indexes FollowSymLinks ,AllowOverride All. Require all granted. Apache recargado y no los errores 404 se han ido. Esto soluciona el error elementor 404 en /wp-json/elementor/v1/globals

    – Junior Mayhe

    16 de febrero a las 21:44

Tienes la dirección incorrecta. Según la documentación, los siguientes son enlaces válidos:

Ejemplos de modo implícito:

Ejemplos de modo explícito:

Con enlaces permanentes fáciles de usar configurados:

Fuente: https://wordpress.org/plugins/json-api/otras_notas/

Así que en tu caso deberías usar http://localhost/wordpress/api/get_recent_posts/

  • ¡Gracias, funciona! Había leído en el tablero de WordPress en la página de complementos: “¿Quiere obtener las publicaciones de su sitio? Simplemente envíe una solicitud GET a /wp-json/posts”, por eso hice esto.

    – Simón

    20 de noviembre de 2014 a las 0:49

avatar de usuario
Roberto Dundon

Pregunta y respuesta anteriores, pero para cualquiera que haya venido aquí recientemente a través de los resultados de búsqueda (como yo), /wp-json/posts debería al menos traer un resultado JSON (aunque todavía es un error 404), y /wp-json debería enumerar algunas rutas disponibles en JSON.

Si no es así (por ejemplo, muestra una página de error de Apache u otra página de error 404), es probable que sea un problema de enlaces permanentes

  • Es posible que deba usar una estructura de enlace permanente diferente. Encontré el mismo problema al usar la imagen de redacción de wordpress docker. Utilice cualquier otra cosa que no sea el método de cadena de consulta.

    – HSmale

    28 de enero de 2019 a las 17:16

  • Si pudiera, enviaría spam al botón +1. Esta fue la razón por la cual mi complemento no funcionó en un wordpress recién instalado.

    – Vizjerei

    27 de agosto de 2021 a las 11:19

¿Ha sido útil esta solución?