Make WordPress Core

Ticket #21543: 21543.diff

File 21543.diff, 2.8 KB (added by DrewAPicture, 12 years ago)
  • wp-includes/taxonomy.php

     
    352352                add_permastruct( $taxonomy, "{$args['rewrite']['slug']}/%$taxonomy%", $args['rewrite'] );
    353353        }
    354354
    355         if ( is_null($args['show_ui']) )
    356                 $args['show_ui'] = $args['public'];
     355        if ( ! is_array( $args['public'] ) ) { // $args['public'] defaults to true
     356                if ( null === $args['show_ui'] )
     357                        $args['show_ui'] = $args['public'];
    357358
    358         // Whether to show this type in nav-menus.php. Defaults to the setting for public.
    359         if ( null === $args['show_in_nav_menus'] )
    360                 $args['show_in_nav_menus'] = $args['public'];
     359                // Whether to show this taxonomy in nav-menus.php. Defaults to the setting for public.
     360                if ( null === $args['show_in_nav_menus'] )
     361                        $args['show_in_nav_menus'] = $args['public'];
    361362
    362         if ( is_null($args['show_tagcloud']) )
    363                 $args['show_tagcloud'] = $args['show_ui'];
    364 
     363                if ( null === $args['show_tagcloud'] )
     364                        $args['show_tagcloud'] = $args['show_ui'];
     365                if ( null === $args['show_tagcloud'] )
     366                        $args['show_tagcloud'] = $args['show_ui'];
     367                if ( null === $args['show_in_nav_menus'] )
     368                        $args['show_in_nav_menus'] = $args['public'];
     369        } else {
     370                if ( ! isset( $args['public']['admin_menu'] ) )
     371                        $args['public']['admin_menu'] = true;
     372                if ( ! isset( $args['public']['meta_box'] ) )
     373                        $args['public']['meta_box'] = true;
     374                if ( $args['public']['admin_menu'] || $args['public']['meta_box'] ) {
     375                        if ( null === $args['show_ui'] )
     376                                $args['show_ui'] = true;
     377                }
     378        }
     379       
    365380        $default_caps = array(
    366381                'manage_terms' => 'manage_categories',
    367382                'edit_terms'   => 'manage_categories',
  • wp-admin/edit-form-advanced.php

     
    110110// all taxonomies
    111111foreach ( get_object_taxonomies($post_type) as $tax_name ) {
    112112        $taxonomy = get_taxonomy($tax_name);
    113         if ( ! $taxonomy->show_ui )
     113        if ( ! $taxonomy->show_ui
     114                || ( is_array( $taxonomy->public ) && ! $taxonomy->public['meta_box'] ) )
    114115                continue;
    115116
    116117        $label = $taxonomy->labels->name;
  • wp-admin/menu.php

     
    5353
    5454        $i = 15;
    5555        foreach ( get_taxonomies( array(), 'objects' ) as $tax ) {
    56                 if ( ! $tax->show_ui || ! in_array('post', (array) $tax->object_type, true) )
     56                if ( ! $tax->show_ui
     57                        || ! in_array('post', (array) $tax->object_type, true )
     58                        || ( is_array( $tax->public ) && ! $tax->public['admin_menu'] ) )
    5759                        continue;
    5860
    5961                $submenu['edit.php'][$i++] = array( esc_attr( $tax->labels->menu_name ), $tax->cap->manage_terms, 'edit-tags.php?taxonomy=' . $tax->name );