fbpixel

APP Laravel 5.6 + WordPress CRUD usando el API-REST v2

Hola a todos! les dejo un ejemplo que arme en Laravel que consume el API de WordPress, quizás inspire a alguno que quiera construir aplicaciones Laravel y Wordpress, si bien es muy sencillo y solo hace CRUD sobre los post, sirve como ejemplo para que puedas seguir ampliándolo como más te guste.

Les dejo el link de mi repo en GitHub de donde pueden descargar el proyecto.
saludos!!

Miguel

Build Status Total Downloads Latest Stable Version License

APP Laravel 5.6 - WordPress CRUD usando el API-REST v2

Aplicación Laravel que realiza las operaciones básicas de CRUD (Create - Read - Update - Delete) sobre los posts de cualquier sitio WordPress, utilizando el WP REST API v2

  • composer.json
    "php": "^7.1.3",
    "fideloper/proxy": "^4.0",
    "guzzlehttp/guzzle": "~6.0",
    "laravel/framework": "5.6.*",
    "laravel/tinker": "^1.0"

NOTA: Se requiere que tenga instalado y habilitado en su sitio Wordpress el siguiente complemento para poder autenticarse y ejecutar peticiones [ POST/DELETE ]

Basic Authentication handler

Este complemento agrega Autenticación básica a un sitio de WordPress.

Importante:
Tener en cuenta que este complemento requiere el envío de su nombre de usuario y contraseña con cada
solicitud, y solo debe usarse a través de conexiones con seguridad SSL o para
desarrollo y prueba. Sin SSL, recomiendo utilizar
[OAuth versión 1 o 2 ] -OAuth1 controlador de autenticación en entornos de producción.

Instalación

  1. Descargue e instale el plugin en el directorio /wp-content/plugins de su sitio wordpress
  1. Habilitar el plugin desde administrador de Wordpress y activalo.

  2. Instala las dependencias del proyecto Laravel, ejecutando:

 npm install
 composer install

Ejecución

Por último, accede al directorio del proyecto laravel y ejecuta el server de desarrollo desde la consola con el comando "php artisan serve"

 blog git:(master) ✗ php artisan serve

Aprende más sobre GuzzleHttp\Client

La aplicación requiere del cliente GuzzleHttp para que funcione correctamente y pueda conectarse al sitio Wordpress.
Aquí te dejo el link para su descarga y documentación, pero no es necesario que la instales ya que al descargar las dependencias del proyecto el mismo se instalará automáticamente.

composer require guzzlehttp/guzzle:~6.0

Modo de Uso

  • Por default los usuarios WordPress Administrador/Autor/Editor tienen permisos de escritura.
  • Por default los usuarios WordPress Colaborador/Suscriptor solo tienen permisos de lectura.
  • Importante: las peticiones GET no requiere user/pass solo peticiones de tipo POST y DELETE

Configure el usuario, password y la URL del sitio Wordpress al que desea conectarse en el controlador BlogController.php

IMPORTEATE: Tanto el usuario como el password son encriptados con base64_encode antes del envío de la solicitud en el header de la petición.

  • Path: app/Http/Controllers/BlogController.php
    protected $base_uri = 'http://wordpress.localhost'; // URL base del sitio
    protected $username = 'wpadmin'; // username de wordpress
    protected $password = 'wpadmin'; // password de wordpress

Nota:

En el ejemplo uso el usuario wpadmin que tiene permisos de read/write si quieres pueden cambiarlo por otro que sea de tipo Suscriptor y solo permisos de read.

Screenshots

Instalar Plugin WordPress

Plugin WordPress

Plugin WordPress

Plugin WordPress

Index

Index

New

New

Edit

Edit

Error / usuario sin permisos de escritura

Error

Lista de post

Error

Editar Post

Error

License

The Laravel framework is open-sourced software licensed under the MIT license.

3 Me gusta

:clap::clap: Espectacular @MiguelZD. Gracias por compartir. Habrá que probarlo!

Gracias, es super interesante.!!!

I created my own integration for connecting Laravel, WordPress and Google Doc. This integration allows users to import content from Google Doc to Wordpress automatically. Please check out. Your feedback will be helpful.