A lightweight & efficient EventManager for JavaScript.
Install the module
npm install @wordpress/hooks --save
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.
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
Whenever an action or filter is added or removed, a matching hookAdded
or hookRemoved
action is triggered.
hookAdded
action is triggered whenaddFilter()
oraddAction()
method is called, passing values forhookName
,functionName
,callback
andpriority
.hookRemoved
action is triggered whenremoveFilter()
orremoveAction()
method is called, passing values forhookName
andfunctionName
.