Package Data | |
---|---|
Maintainer Username: | shadiakiki1986 |
Maintainer Contact: | neo@creativitykills.co (Neo Ighodaro) |
Package Create Date: | 2016-10-22 |
Package Last Update: | 2016-10-22 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-25 15:03:49 |
Package Statistics | |
---|---|
Total Downloads: | 771 |
Monthly Downloads: | 6 |
Daily Downloads: | 2 |
Total Stars: | 1 |
Total Watchers: | 2 |
Total Forks: | 2 |
Total Open Issues: | 0 |
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)
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 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 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);
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.