wordpress v1.4.2
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, 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.
12 months ago
6 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
10 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago