En esta oportunidad voy a mostrar como pude crear un blog post en mi sitio de WordPress usando la API Rest de WordPress. Voy a mostrar como crear un usuario capaz de usar la api rest y algunos comandos basicos usando cURL.
Crear nuestra contraseña de aplicacion
Para poder usar la WordPress REST API tenemos que crear una contraseña especial. No podemos usar nuestro usuario y contraseña de WordPress, debemos usar uno especifico para la API REST.
Para poder hacerlo, debemos ir a Usuarios -> Perfil
- Debemos poner un nombre para la contraseña de aplicacion. Este nombre no lo vamos a usar en cURL es simplemente, el nombre para que identifiquemos la contraseña, pero no lo vamos a usar para autenticatnos.
- Damos click en “Agregar nueva contraseña de aplicacion”.
- Podemos eliminar contraseñas dando click en “Revocar”.
Ahora podemos ver que nuestra contraseña de aplicacion fue creada, la copiamos en un lugar seguro ya que no podremos volver a verla nuevamente.
Usando cURL para crear nuestro primer post WordPress REST API
Primero vamos a crear un post. Para eso usaremos el comando cURL con los siguientes parametros:
-X POST # le decimos que vamos a hacer una POST HTTP request.
--user # el parametro para decirle nuestro usuario y contraseña
-H "Content-Type: application/json" # vamos a estar enviando contenido de tipo JSON
-d '{}' # el contenido del post en formato json
url # la url de la rest api de nuestro sitio
ACLARACION:El nombre de usuario es el de WordPress no el de la api rest.
Este es nuestro comando final.
curl -X POST \
--user "YOURWORDPRESSUSER:xxxx xxxx xxxx xxxx" \
-H "Content-Type: application/json" \
-d '{"title":"My Title","content":"c","status":"publish","excerpt":"asd"}' \
"https://TEST.TEST.COM/wp-json/wp/v2/posts"
Antes no teniamos ningun post.
Ahora tenemos nuestro post creado!!
Listo! Pudimos crear nuestro primer post usando la API de WordPess!
Ahora vamos a intentar editar el contenido del post que creamos.
Editar el contenido de un post usando la API REST de WordPress
Cuando enviamos nuestro post usando cURL lo que nos deberia haber respondido es un archivo JSON, el cual contiene toda la informacion de nuestro nuevo post creado.
Lo que necesitamos de esta respuesta es el id de nuestro post.
En mi caso el id es 734.
Ahora con el id de mi post, voy a poder editarlo.
curl -X POST \
--user "YOURWORDPRESSUSER:xxxx xxxx xxxx xxxx" \
-H "Content-Type: application/json" \
-d '{"content":"This is the new content"}' \
"https://TEST.TEST.COM/wp-json/wp/v2/posts/734"
Y vemos como se actualizo el contenido: