| | |
| | | |
| | | public function register():void |
| | | { |
| | | $args = [ |
| | | 'labels' => $this->labels, |
| | | 'public' => $this->public, |
| | | 'hierarchical' => $this->hierarchical, |
| | | ]; |
| | | if (isset($this->description)) { |
| | | $args['description'] = $this->description; |
| | | } |
| | | if (isset($this->publicly_queryable)) { |
| | | $args['publicly_queryable'] = $this->publicly_queryable; |
| | | } |
| | | if (isset($this->show_ui)) { |
| | | $args['show_ui'] = $this->show_ui; |
| | | } |
| | | if (isset($this->show_in_menu)) { |
| | | $args['show_in_menu'] = $this->show_in_menu; |
| | | } |
| | | if (isset($this->show_in_nav_menus)) { |
| | | $args['show_in_nav_menus'] = $this->show_in_nav_menus; |
| | | } |
| | | if (isset($this->show_in_rest)) { |
| | | $args['show_in_rest'] = $this->show_in_rest; |
| | | } |
| | | if (isset($this->rest_base)) { |
| | | $args['rest_base'] = $this->rest_base; |
| | | } |
| | | if (isset($this->rest_namespace)) { |
| | | $args['rest_namespace'] = $this->rest_namespace; |
| | | } |
| | | if (isset($this->rest_controller_class)) { |
| | | $args['rest_controller_class'] = $this->rest_controller_class; |
| | | } |
| | | if (isset($this->show_tag_cloud)) { |
| | | $args['show_tag_cloud'] = $this->show_tag_cloud; |
| | | } |
| | | if (isset($this->show_quick_edit)) { |
| | | $args['show_quick_edit'] = $this->show_quick_edit; |
| | | } |
| | | if (isset($this->show_admin_column)) { |
| | | $args['show_admin_column'] = $this->show_admin_column; |
| | | } |
| | | if (isset($this->meta_box_cb) && is_callable($this->meta_box_cb)) { |
| | | $args['meta_box_cb'] = $this->meta_box_cb; |
| | | } |
| | | if (isset($this->meta_box_sanitize_cb) && is_callable($this->meta_box_sanitize_cb)) { |
| | | $args['meta_box_sanitize_cb'] = $this->meta_box_sanitize_cb; |
| | | } |
| | | if (isset($this->capabilities)) { |
| | | $allowed = ['manage_terms', 'edit_terms', 'delete_terms', 'assign_terms']; |
| | | $caps = array_filter($this->capabilities, function ($cap) use ($allowed) { |
| | | return in_array($cap, $allowed); |
| | | }, ARRAY_FILTER_USE_KEY); |
| | | $args['capabilities'] = $caps; |
| | | } |
| | | if (isset($this->query_var)) { |
| | | $args['query_var'] = $this->query_var; |
| | | } |
| | | if (isset($this->update_count_callback) && is_callable($this->update_count_callback)) { |
| | | $args['update_count_callback'] = $this->update_count_callback; |
| | | } |
| | | if (isset($this->default_term)) { |
| | | $args['default_term'] = $this->default_term; |
| | | } |
| | | if (isset($this->sort)) { |
| | | $args['sort'] = $this->sort; |
| | | } |
| | | if (isset($this->args)) { |
| | | $args['args'] = $this->args; |
| | | } |
| | | |
| | | $args = array_filter(get_object_vars($this)); |
| | | // $args = [ |
| | | // 'labels' => $this->labels, |
| | | // 'public' => $this->public, |
| | | // 'hierarchical' => $this->hierarchical, |
| | | // ]; |
| | | // if (isset($this->description)) { |
| | | // $args['description'] = $this->description; |
| | | // } |
| | | // if (isset($this->publicly_queryable)) { |
| | | // $args['publicly_queryable'] = $this->publicly_queryable; |
| | | // } |
| | | // if (isset($this->show_ui)) { |
| | | // $args['show_ui'] = $this->show_ui; |
| | | // } |
| | | // if (isset($this->show_in_menu)) { |
| | | // $args['show_in_menu'] = $this->show_in_menu; |
| | | // } |
| | | // if (isset($this->show_in_nav_menus)) { |
| | | // $args['show_in_nav_menus'] = $this->show_in_nav_menus; |
| | | // } |
| | | // if (isset($this->show_in_rest)) { |
| | | // $args['show_in_rest'] = $this->show_in_rest; |
| | | // } |
| | | // if (isset($this->rest_base)) { |
| | | // $args['rest_base'] = $this->rest_base; |
| | | // } |
| | | // if (isset($this->rest_namespace)) { |
| | | // $args['rest_namespace'] = $this->rest_namespace; |
| | | // } |
| | | // if (isset($this->rest_controller_class)) { |
| | | // $args['rest_controller_class'] = $this->rest_controller_class; |
| | | // } |
| | | // if (isset($this->show_tag_cloud)) { |
| | | // $args['show_tag_cloud'] = $this->show_tag_cloud; |
| | | // } |
| | | // if (isset($this->show_quick_edit)) { |
| | | // $args['show_quick_edit'] = $this->show_quick_edit; |
| | | // } |
| | | // if (isset($this->show_admin_column)) { |
| | | // $args['show_admin_column'] = $this->show_admin_column; |
| | | // } |
| | | // if (isset($this->meta_box_cb) && is_callable($this->meta_box_cb)) { |
| | | // $args['meta_box_cb'] = $this->meta_box_cb; |
| | | // } |
| | | // if (isset($this->meta_box_sanitize_cb) && is_callable($this->meta_box_sanitize_cb)) { |
| | | // $args['meta_box_sanitize_cb'] = $this->meta_box_sanitize_cb; |
| | | // } |
| | | // if (isset($this->capabilities)) { |
| | | // $allowed = ['manage_terms', 'edit_terms', 'delete_terms', 'assign_terms']; |
| | | // $caps = array_filter($this->capabilities, function ($cap) use ($allowed) { |
| | | // return in_array($cap, $allowed); |
| | | // }, ARRAY_FILTER_USE_KEY); |
| | | // $args['capabilities'] = $caps; |
| | | // } |
| | | // if (isset($this->query_var)) { |
| | | // $args['query_var'] = $this->query_var; |
| | | // } |
| | | // if (isset($this->update_count_callback) && is_callable($this->update_count_callback)) { |
| | | // $args['update_count_callback'] = $this->update_count_callback; |
| | | // } |
| | | // if (isset($this->default_term)) { |
| | | // $args['default_term'] = $this->default_term; |
| | | // } |
| | | // if (isset($this->sort)) { |
| | | // $args['sort'] = $this->sort; |
| | | // } |
| | | // if (isset($this->args)) { |
| | | // $args['args'] = $this->args; |
| | | // } |
| | | unset($args['for']); |
| | | |
| | | $for = array_map(function($item) { return jvbCheckBase($item);}, $this->for); |
| | | register_taxonomy(jvbCheckBase($this->taxonomy), $for, $args); |