我正在尝试在插件的主PHP文件底部使用此函数来确定其操作挂钩之一是否被指定的标记使用。但是,我在下面的代码中的第二个foreach
上收到了“警告”。为什么是这样?有没有更好的方法来查看是否正在使用Wordpress动作挂钩?
<?php
function dump_hook($tag, $hook)
{
ksort($hook);
echo "<pre>>>>>>\t$tag<br>";
foreach ($hook as $priority => $functions) {
echo $priority;
foreach ($functions as $function) {
if ($function['function'] != 'list_hook_details') {
echo "\t";
if (is_string($function['function']))
echo $function['function'];
elseif (is_string($function['function'][0]))
echo $function['function'][0] . ' -> ' . $function['function'][1];
elseif (is_object($function['function'][0]))
echo "(object) " . get_class($function['function'][0]) . ' -> ' . $function['function'][1];
else
print_r($function);
echo ' (' . $function['accepted_args'] . ') <br>';
}
}
}
echo '</pre>';
}
$tag = array('anspress_loaded');
$hook = array('find_do_for_anspress');
dump_hook($tag, $hook);
答案 0 :(得分:0)
代码中的一些错误:
1。)[L]
是数组,但在你的函数中它被用作字符串:
<meta property="og:title" content="Online Advertising"/>
<meta property="og:image" content="https://nextlocal.ca/img/logo320.jpg"/>
<meta property="og:site_name" content="NextLocal"/>
<meta property="og:description" content="NextLocal's advertising produces long-lasting results and comes with a guarantee, making it a great investment for your business."/>
2。)$tag
是数组,所以第一个foreach工作正常:
<?php
echo "<pre>>>>>>\t$tag<br>";
接下来,您尝试使用字符串$hook
进行foreach,但它无法实现,因此php会告诉您上述错误。