我建议看一下tests file 了解使用挂钩的不同方式。
它们的工作方式与PHP挂钩类似,您可以设置几个addAction,然后使用挂钩名称和其他参数设置一个doAction。
doAction的第一个参数必须是操作名称。然后可以传递任意多个参数,这些参数将传递给addAction回调函数:
const myFunction = ( arg1, arg2 ) => {
console.log( arg1, arg2 ); // Should output \'Hello\' \'Hola\'
};
wp.hooks.addAction( \'action_name\', \'function_name\', myFunction );
wp.hooks.doAction( \'action_name\', \'Hello\', \'Hola\' );
第一个参数是钩子名。几个
addAction
(或
addFilter
) 可以通过其名称钩住给定的钩子,调用时将执行所有操作
doAction
(或
applyFilters
).第二个参数标识操作或筛选器(
addAction
或
addFilter
). 例如,如果要删除其中一个操作或筛选器,可以使用此选项。这是一个改编自以下测试之一的示例:
const { addFilter, removeFilter, applyFilters } = wp.hooks;
function filterA(str) {
return str + "A";
}
function filterB(str) {
return str + "B";
}
function filterC(str) {
return str + "C";
}
addFilter("test.filter", "my_callback_filter_a", filterA);
addFilter("test.filter", "my_callback_filter_b", filterB);
addFilter("test.filter", "my_callback_filter_c", filterC);
removeFilter("test.filter", "my_callback_filter_b");
console.log(applyFilters("test.filter", "test_")); // Should output test_AC