Skip to content
WordPress.com JavaScript API client designed for Node.js and browsers
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs remove deprecated `me/connections` endpoint Oct 7, 2015
examples add media-example test app Oct 25, 2016
lib Add newline to end of file Mar 1, 2018
test-whitelist
test
webapp updates according to feedback. simplify webpack config Feb 28, 2018
.eslintrc.js eslint: update dependencies and rules Oct 12, 2016
.gitignore add media-example test app Oct 25, 2016
.npmignore
History.md Bump version to 5.4.2 Jul 23, 2018
LICENSE add LICENSE file May 29, 2014
Makefile add media-example test app Oct 25, 2016
README.md
circle.yml
index.js
package-lock.json Upgrade wpcom-xhr-request to 1.1.2 and reshrinkwrap (#224) Jul 23, 2018
package.json Bump version to 5.4.2 Jul 23, 2018
webpack.config.js updates according to feedback. simplify webpack config Feb 28, 2018
webpack.tests.config.js

README.md

wpcom.js

Official JavaScript library for the WordPress.com REST API. Compatible with Node.js and web browsers.

CircleCI

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).

// 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:

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

You can’t perform that action at this time.