node-wordpress
A node.js JavaScript client for working with WordPress.
Support this project by donating on Gratipay.
Requires WordPress 3.4 or newer (uses the WordPress XML-RPC API).
Installation
npm install wordpress
Usage
var wordpress = require( "wordpress" );
var client = wordpress.createClient({
url: "my-site.com",
username: "admin",
password: "secret"
});
client.getPosts(function( error, posts ) {
console.log( "Found " + posts.length + " posts!" );
});
More usage examples can be found in the examples
directory.
Full Site Synchronization
Looking for a way to manage your WordPress site without writing a bunch of code? Use Gilded WordPress to easily synchronize your entire site from a local directory.
API
Note: In order to provide a slightly nicer API, the XML-RPC field names have been mapped to CamelCase names. In some cases, the names are also altered because the original names are awkward. See the Fields section for a list of fields by type.
Client
wordpress.createClient( settings )
Creates a new client instance.
-
settings
: A hash of settings that apply to all requests for the new client.-
username
: The username for the WordPress account. -
password
: The password for the WordPress account. -
url
: The URL for the WordPress install. -
host
(optional): The actual host to connect to if different from the URL, e.g., when deploying to a local server behind a firewall. -
blogId
(optional; default:0
): The blog ID for the WordPress install. -
rejectUnauthorized
(optional; default:true
): A boolean indicating whether Node.js should automatically reject clients with invalid certificates. See tls.createSecurePair() in Node's documentation. -
basicAuth
(optional): An object holding HTTP basic authentication credentials.-
username
: The username for the HTTP basic auth. -
password
: The password for the HTTP basic auth.
-
-
wordpress.Client
The constructor used for client connections. Useful for creating extensions.
Posts
client.getPost( id [, fields], callback )
Gets a post by ID.
-
id
: The ID of the post to get. -
fields
(optional): An array of fields to return. -
callback
(function( error, post )
): A callback to invoke when the API call is complete.-
post
: An object containing the post data.
-
client.getPosts( [filter] [, fields], callback )
Gets all posts, optionally filtered.
-
filter
(optional): A hash of key/value pairs for filtering which posts to get. -
fields
(optional): An array of fields to return. -
callback
(function( error, posts )
): A callback to invoke when the API call is complete.-
posts
: An array containing the posts.
-
client.newPost( data, callback )
Creates a new post.
-
data
: The data for the new post. -
callback
(function( error, id )
): A callback to invoke when the API call is complete.-
id
: The ID of the new post.
-
client.editPost( id, data, callback )
Edits an existing post.
-
id
: The ID of the post to edit. -
data
: The data to update on the post. -
callback
(function( error )
): A callback to invoke when the API call is complete.
client.deletePost( id, callback )
Deletes a post.
NOTE: Deleting a post may move it to the trash and then deleting a second time will actually delete.
-
id
: The ID of the post to delete. -
callback
(function( error )
): A callback to invoke when the API call is complete.
client.getPostType( name, [, fields], callback )
Gets a post type by name.
-
name
: The name of the post type to get. -
fields
(optional): An array of fields to return. -
callback
(function( error, postType )
): A callback to invoke when the API call is complete.-
postType
: An object containing the post type data.
-
client.getPostTypes( [filter], [, fields], callback )
Gets all post types.
-
filter
(optional): A hash of key/value pairs for filtering which posts types to get. -
fields
(optional): An array of fields to return. -
callback
(function( error, postTypes )
): A callback to invoke when the API call is complete.-
postTypes
: An array containing the post types.
-
Taxonomies
client.getTaxonomy( name, callback )
Gets a taxonomy by name.
-
name
: The name of the taxonomy to get. -
callback
(function( error, taxonomy )
): A callback to invoke when the API call is complete.-
taxonomy
: An object containing the taxonomy data.
-
client.getTaxonomies( callback )
Gets all taxonomies.
-
callback
(function( error, taxonomies )
): A callback to invoke when the API call is complete.-
taxonomies
: An array containing the taxonomies.
-
client.getTerm( taxonomy, id, callback )
Gets a taxonomy term by ID.
-
taxonomy
: The name fo the taxonomy the term belongs to. -
id
: The ID of the term to get. -
callback
(function( error, term )
): A callback to invoke when the API call is complete.-
term
: An object containing the taxonomy term data.
-
client.getTerms( taxonomy [, fields], callback )
Gets all taxonomy terms.
-
taxonomy
: The name fo the taxonomy the term belongs to. -
fields
(optional): An array of fields to return. -
callback
(function( error, terms )
): A callback to invoke when the API call is complete.-
terms
: An array containing the taxonomy terms.
-
client.newTerm( data, callback )
Creates a new taxonomy term.
-
data
: The data for the new taxonomy term. -
callback
(function( error, id )
): A callback to invoke when the API call is complete.-
id
: The ID of the new taxonomy term.
-
client.editTerm( id, data, callback )
Edits an existing taxonomy term.
-
id
: The ID of the taxonomy term to edit. -
data
: The data to update on the taxonomy. -
callback
(function( error )
): A callback to invoke when the API call is complete.
client.deleteTerm( taxonomy, id, callback )
Deletes a taxonomy term.
-
taxonomy
: The name fo the taxonomy the term belongs to. -
id
: The ID of the taxonomy term to delete. -
callback
(function( error )
): A callback to invoke when the API call is complete.
Media
client.getMediaItem( id, callback )
Gets a piece of media by ID.
-
id
: The ID of the piece of media to get. -
callback
(function( error, media )
): A callback to invoke when the API call is complete.
client.getMediaLibrary( [filter], callback )
-
filter
(optional): A hash of key/value pairs for filtering which posts to get. -
callback
(function( error, media )
): A callback to invoke when the API call is complete.
client.uploadFile( data, callback )
Uploads a file to Wordpress.
-
data
: The data for the file to upload.-
name
: The filename. -
type
: The file MIME type, e.gimg/jpg
. -
bits
: Binary data. -
overwrite
(optional): Whether this file should overwrite any existing file of the same name. -
postId
(optional): Which post to assign the attachment to.
-
-
callback
(function( error, file )
): A callback to invoke when the API call is complete.-
file
: An object containing the file data.
-
Utilities
client.listMethods( callback )
Gets a list of all avaialble methods.
-
callback
(function( error, methods )
): A callback to invoke when the API call is complete.-
methods
: An array of methods.
-
client.call( method [, args... ], callback )
Invokes a method.
-
method
: The method to call. -
args
(optional): Arguments to pass to the method. -
callback
(function( error [, data] )
): A callback to invoke when the API call is complete.-
data
: Data returned by the method.
-
client.authenticatedCall( method [, args... ], callback )
Invokes a method with the username and password provided by the client.
-
method
: The method to call. -
args
(optional): Arguments to pass to the method. -
callback
(function( error [, data] )
): A callback to invoke when the API call is complete. -
data
: Data returned by the method.
Fields
Files
- name
- type
- bits
- overwrite
- postId
Labels
- addNewItem
- addOrRemoveItems
- allItems
- chooseFromMostUsed
- editItem
- menuName
- name
- nameAdminBar
- newItemName
- parentItem
- parentItemColon
- popularItems
- searchItems
- separateItemsWithCommas
- singularName
- updateItem
- viewItem
Posts
- author
- commentStatus
- content
- customFields
- date
- excerpt
- format
- id
- link
- modified
- menuOrder
- name
- pageTemplate
- parent
- password
- pingStatus
- status
- sticky
- terms
- termNames
- thumbnail
- title
- type
Post Types
- cap
- capabilityType
- description
- _editLink
- excludeFromSearch
- hasArchive
- hierarchical
- label
- labels
- mapMetaCap
- menuIcon
- menuPosition
- name
- "public
- publiclyQuerably
- queryVar
- rewrite
- showInAdminBar
- showInMenu
- showInNavMenus
- showUi
- supports
- taxonomies
Post Type Capabilities
- deleteOthersPosts
- deletePost
- deletePosts
- deletePrivatePosts
- deletePublishedPosts
- editOthersPosts
- editPost
- editPosts
- editPrivatePosts
- editPublishedPosts
- publishPosts
- read
- readPost
- readPrivatePosts
Taxonomies
- cap
- hierarchical
- name
- label
- labels
- objectType
- public
- queryVar
- rewrite
- showInNavMenus
- showTagCloud
- showUi
Taxanomy Capabilities
- assignTerms
- deleteTerms
- editTerms
- manageTerms
Terms
- count
- description
- name
- parent
- slug
- taxonomy
- termId
- termTaxonomyId
Media
- attachmentId
- caption
- date
- description
- link
- metadata
- file
- height
- imageMeta
- aperture
- camera
- caption
- copyright
- createdTimestamp
- credit
- focalLength
- iso
- keywords
- orientation
- shutterSpeed
- title
- sizes
- file
- height
- mimeType
- width
- width
- parent
- thumbnail
- title
- type
License
Copyright Scott González. Released under the terms of the MIT license.
Support this project by donating on Gratipay.