agiannis
8/11/2015 - 2:51 PM

Remove actions that are assigned to a unknown Class

label: wordpress

/**
* Remove actions that are assigned to a unknown Class
* @param string $action The action name
* @param string $function_name The method of the Class
*
*/
public function remove_action_with_class($action,$function_name) {
  if(!empty($GLOBALS['wp_filter'][$action])) {
      foreach ($GLOBALS['wp_filter'][$action] as $position_key=>$position ) {
          foreach ($position as $hook_key=>$hook_data) {
              if($hook_data['function'][1] == $function_name) {
                  unset($GLOBALS['wp_filter'][$action][$position_key][$hook_key]);
              }
          }
      }
  }
}