function copy_hooks($from_hook, $to_hook, $base_paths)
{
global $wp_filter;
foreach ($wp_filter as $hook => $actions) {
if ($from_hook != $hook) {
continue;
}
foreach ((array) $actions as $priority => $callbacks) {
foreach ($callbacks as $callback_key => $callback_data) {
$callback = $callback_data['function'];
$reflection = $this->get_reflection($callback);
// use reflection api to determine filename where function is defined
if (false !== $reflection) {
$file_name = $reflection->getFileName();
foreach ($base_paths as $base_path) {
if (0 === strpos($file_name, $base_path)) {
// only copy hooks with functions which are part of the specified files
$wp_filter[$to_hook][$priority]['cph' . $callback_key] = $callback_data;
}
}
}
}
}
}
}