WPCOM_JSON_API_Endpoint::copy_hooks PHP Method

copy_hooks() public method

public copy_hooks ( $from_hook, $to_hook, $base_paths )
    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;
                            }
                        }
                    }
                }
            }
        }
    }