$this->addCallback($hook_name, [ $subscriber, $parameters[0] ], isset($parameters[1]) ? $parameters[1] : 10, isset($parameters[2]) ? $parameters[2] : 1); } } /** * Removes the given subscriber's callback to a specific hook * of the WordPress plugin API. * * @param SubscriberInterface $subscriber SubscriberInterface implementation. * @param string $hook_name Hook name. * @param mixed $parameters Parameters, can be a string, an array or a multidimensional array. */ private function removeSubscriberCallback(SubscriberInterface $subscriber, $hook_name, $parameters) { if (is_string($parameters)) { $this->removeCallback($hook_name, [ $subscriber, $parameters ]); } elseif (is_array($parameters) && count($parameters) !== count($parameters, COUNT_RECURSIVE)) { foreach ($parameters as $parameter) { $this->removeSubscriberCallback($subscriber, $hook_name, $parameter); } } elseif (is_array($parameters) && isset($parameters[0])) { $this->removeCallback($hook_name, [ $subscriber, $parameters[0] ], isset($parameters[1]) ? $parameters[1] : 10); } } }