npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

chuyengiawp

v1.1.0

Published

A client for working with WordPress.

Downloads

5

Readme

chuyengiawp

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 chuyengiawp

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.g img/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.