shadiakiki1986 / wp-api
Laravel - WordPress API
Requires
- php: >=5.4.0
- guzzle/guzzle: 3.9.*@dev
- illuminate/support: 4.2.*
This package is auto-updated.
Last update: 2024-10-27 02:50:14 UTC
README
This is a fork, published at packagist under shadiakiki1986/wp-api
Install with composer require shadiakiki1986/wp-api
The client id
field and client secret
field need to be obtained after creating a new Application in Wordpress.
Using wordpress.com, it can be done with the applications manager as documented on wordpress's oauth2 page.
Note that this package uses grant_type => password
documented on the oauth2 page (i.e. to use username and password directly)
WordPress API
This package allows Laravel users to interact with the WordPress API. I personally use this as a way to abstract the WordPress backend from the frontend of the website.
Usage
Usage is simple as you can hope...
<?php
use Neo\WpApi\WpApi;
use Neo\WpApi\Service\GuzzleService;
// Get the instance of the WP Api
$wp = new WpApi(new GuzzleService);
// Set the configuration
$config = array(
'client_id' => '',
'client_secret' => '',
'username' => '',
'password' => '',
'site_id' => '',
);
// Connect to the API
$wp = $wp->setConfig($config)->connect();
// Make your API calls
$posts = $wp->postsByPage(1, 10);
$post = $wp->postById(400);
$post_likes = $wp->api('GET', 'sites/$site_id/posts/$post_id/likes');
Laravel Users
Laravel users can just include the service provider Neo\WpApi\WpApiServiceProvider
in their app configuration file.
You can now run artisan config::publish
to publish the configuration file and customise.
<?php
$wp = App::make('wp-api')->connect();
// Make your api calls...
$posts = $wp->postsByPage(1);
Advice
This WordPress API uses the grant "password" type which is meant for testing purposes, though I would not mind using it on a real WordPress site since it allows me completely abstract my wordpress site as a back end.
Note that its recommended you use the 2-step authentication and create an Application password in your Wordpress.com dashboard. Using your actual Wordpress password is not recommended.
Enjoy.