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 ]
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.
- Descargue e instale el plugin en el directorio /wp-content/plugins de su sitio wordpress
-
Habilitar el plugin desde administrador de Wordpress y activalo.
-
Instala las dependencias del proyecto Laravel, ejecutando:
npm install
composer install
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
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
-
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
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.
The Laravel framework is open-sourced software licensed under the MIT license.