static function init() { self::$post_types = apply_filters(sprintf('%s_Post_Types_init', Kanban::$instance->settings->basename), self::$post_types); add_action('init', array(__CLASS__, 'custom_post_types'), 0); // build list of post types, fields and taxonomies foreach (Kanban_Post_Types::$post_types as $post_type_slug => $post_type_data) { $post_type_key = Kanban_Post_Types::format_post_type($post_type_slug); if (!isset(Kanban::$instance->post_type_keys)) { Kanban::$instance->post_type_keys = array(); } Kanban::$instance->post_type_keys[$post_type_slug] = $post_type_key; foreach ($post_type_data as $key_type => $key_type_data) { foreach ($key_type_data as $key_slug => $values) { $variable = sprintf('%s_list', $key_type); if (!isset(Kanban::$instance->{$variable})) { Kanban::$instance->{$variable} = array(); } // get variable by reference $array =& Kanban::$instance->{$variable}; $array[] = Kanban_Utils::format_key($post_type_slug, $key_slug); if (!is_array($values)) { Kanban::$instance->field_defaults[Kanban_Utils::format_key($post_type_slug, $key_slug)] = $values; } } } } }