Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

@wordpress/hooks

2.0.0 • Public • Published

Hooks

A lightweight & efficient EventManager for JavaScript.

Installation

Install the module

npm install @wordpress/hooks --save

This package assumes that your code will run in an ES2015+ environment. If you're using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods. Learn more about it in Babel docs.

Usage

In your JavaScript project, use hooks as follows:

import { createHooks } from '@wordpress/hooks';
 
myObject.hooks = createHooks();
myObject.hooks.addAction(); //etc...

In the WordPress context, API functions can be called via the global wp.hooks like this wp.hooks.addAction(), etc.

API Usage

  • createHooks()
  • addAction( 'hookName', 'functionName', callback, priority )
  • addFilter( 'hookName', 'functionName', callback, priority )
  • removeAction( 'hookName', 'functionName' )
  • removeFilter( 'hookName', 'functionName' )
  • removeAllActions( 'hookName' )
  • removeAllFilters( 'hookName' )
  • doAction( 'hookName', arg1, arg2, moreArgs, finalArg )
  • applyFilters( 'hookName', content, arg1, arg2, moreArgs, finalArg )
  • doingAction( 'hookName' )
  • doingFilter( 'hookName' )
  • didAction( 'hookName' )
  • didFilter( 'hookName' )
  • hasAction( 'hookName' )
  • hasFilter( 'hookName' )
  • actions
  • filters

Events on action/filter add or remove

Whenever an action or filter is added or removed, a matching hookAdded or hookRemoved action is triggered.

  • hookAdded action is triggered when addFilter() or addAction() method is called, passing values for hookName, functionName, callback and priority.
  • hookRemoved action is triggered when removeFilter() or removeAction() method is called, passing values for hookName and functionName.



Code is Poetry.

install

npm i @wordpress/hooks

Downloadsweekly downloads

3,257

version

2.0.0

license

GPL-2.0-or-later

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability