wpcom
v5.4.2
Published
Official JavaScript library for the WordPress.com REST API
Downloads
2,634
Maintainers
Readme
wpcom.js
Official JavaScript library for the WordPress.com REST API. Compatible with Node.js and web browsers.
How to use
Node.js
Introduce the wpcom
dependency into your package.json
...
npm install --save wpcom
... and then initialize it with your API token ( [optional ] ( #authentication ) ).
// Edit a post on a site
var wpcom = require( 'wpcom' )( '<your-token>' );
wpcom
.site( 'your-blog.wordpress.com' )
.postsList( { number: 8 } )
.then( list => { ... } )
.catch( error => { ... } );
Browser
Include dist/wpcom.js
.
<script src="wpcom.js"></script>
<script>
var wpcom = WPCOM( '<your-token>' );
var blog = wpcom.site( 'your-blog.wordpress.com' );
blog.postsList( { number: 8 } )
.then( list => { ... } )
.catch( error => { ... } );
</script>
Authentication
Not all requests require a REST API token. For example, listing posts on a public site is something anyone can do.
If you do need a token, here are some links that will help you generate one:
- OAuth2 Authentication at WordPress.com Developer Resources
wpcom-oauth-cors
: a client-side WordPress.com OAuth2 library using CORSwpcom-oauth
: a server-side ( Node.js ) WordPress.com OAuth2 library- If you just want to quickly create a token, the
example app bundled with
wpcom-oauth
is probably the easiest way.
API
Examples
// Edit a post on a site
var wpcom = require( 'wpcom' )( '<your-token>' );
var blog = wpcom.site( 'your-blog.wordpress.com' );
blog.post( { slug: 'a-post-slug' } ).update( data )
.then( res => { ... } )
.catch( err => { ... } );
You can omit the API token for operations that don't require permissions:
// List the last 8 posts on a site
var wpcom = require( 'wpcom' )();
var blog = wpcom.site( 'your-blog.wordpress.com' );
blog.postsList( { number: 8 } )
.then( list => { ... } )
.catch( error => { ... } );
More pre-made examples are in the examples/
directory.
Test
The token
and site
vars must be given to testing scripts either using
TOKEN
and SITE
environment vars respectively or through of a
config.json file into test/
folder like bellow:
{
"site": "<site-id>",
"token": "<token>"
}
Run tests:
$ make test-all
Also tests can be filtered using make test FILTER=<filter>
:
$ make test FILTER=wpcom.site.post
License
MIT – Copyright 2014 Automattic