WordPress的hook是非常有有用有特别好玩的东西,因为它们可以用你自己的代码“扩展”WordPress现有的功能。但是,当代码出错,它的用处应该是列出所有的挂接点,以便能够列出所有连接WordPress的hook(好多地方翻译为“钩子”,总是让我想入非非)。以下是代码展示。
要做的第一件事是要粘贴以下函数在你的
functions.php
文件:
function list_hooked_functions($tag=false){
global $wp_filter;
if ($tag) {
$hook[$tag]=$wp_filter[$tag];
if (!is_array($hook[$tag])) {
trigger_error("Nothing found for '$tag' hook", E_USER_WARNING);
return;
}
}
else {
$hook=$wp_filter;
ksort($hook);
}
echo '<pre>';
foreach($hook as $tag => $priority){
echo "<br />&gt;&gt;&gt;&gt;&gt;\t<strong>$tag</strong><br />";
ksort($priority);
foreach($priority as $priority => $function){
echo $priority;
foreach($function as $name => $properties) echo "\t$name<br />";
}
}
echo '</pre>';
return;
}
global $wp_filter;
if ($tag) {
$hook[$tag]=$wp_filter[$tag];
if (!is_array($hook[$tag])) {
trigger_error("Nothing found for '$tag' hook", E_USER_WARNING);
return;
}
}
else {
$hook=$wp_filter;
ksort($hook);
}
echo '<pre>';
foreach($hook as $tag => $priority){
echo "<br />&gt;&gt;&gt;&gt;&gt;\t<strong>$tag</strong><br />";
ksort($priority);
foreach($priority as $priority => $function){
echo $priority;
foreach($function as $name => $properties) echo "\t$name<br />";
}
}
echo '</pre>';
return;
}
请注意,此功能是用于调试目的。
完成上面的步骤以后,只需调用
<?php list_hooked_functions() ?>
函数就可以在屏幕上打印所有连接WordPress的functions。
原文来自List all hooked WordPress functions,根据个人理解翻译。


‘调戏’用的,不错。