shadiakiki1986/wp-api
| Install | |
|---|---|
composer require shadiakiki1986/wp-api |
|
| Latest Version: | 0.1.1 |
| PHP: | >=5.4.0 |
| Laravel: | 4 |
| License: | MIT |
| Last Updated: | Oct 22, 2016 |
| Links: | GitHub · Packagist |
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.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 0.1.1 | >=5.4.0 | 4.2.* | MIT | |
| 0.1 | >=5.4.0 | 4.2.* | MIT |