![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
@wordpress/hooks
Advanced tools
Readme
A lightweight & efficient EventManager for JavaScript.
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 such language features and APIs, you should include the polyfill shipped in @wordpress/babel-preset-default
in your code.
In your JavaScript project, use hooks as follows:
import { createHooks } from '@wordpress/hooks';
myObject.hooks = createHooks();
myObject.hooks.addAction(); //etc...
In the above example, we are creating a custom instance of the Hooks
object and registering hooks there. The package also creates a default global instance that's accessible through the defaultHooks
named exports, and its methods are also separately exported one-by-one.
In the WordPress context, that enables API functions to be called via the global wp.hooks
object, like wp.hooks.addAction()
, etc.
One notable difference between the JS and PHP hooks API is that in the JS version, addAction()
and addFilter()
also need to include a namespace as the second argument. Namespace uniquely identifies a callback in the form vendor/plugin/function
.
createHooks()
addAction( 'hookName', 'namespace', callback, priority )
addFilter( 'hookName', 'namespace', callback, priority )
removeAction( 'hookName', 'namespace' )
removeFilter( 'hookName', 'namespace' )
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', 'namespace' )
hasFilter( 'hookName', 'namespace' )
actions
filters
defaultHooks
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
.all
hookIn non-minified builds developers can register a filter or action that will be called on all hooks, for example: addAction( 'all', 'namespace', callbackFunction );
. Useful for debugging, the code supporting the all
hook is stripped from the production code for performance reasons.
This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to npm and used by WordPress as well as other software projects.
To find out more about contributing to this package or Gutenberg as a whole, please read the project's main contributor guide.
FAQs
WordPress hooks library.
The npm package @wordpress/hooks receives a total of 196,653 weekly downloads. As such, @wordpress/hooks popularity was classified as popular.
We found that @wordpress/hooks demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.