WordPress.org

Make WordPress Core

Ticket #21543: 21543.2.diff

File 21543.2.diff, 2.7 KB (added by DrewAPicture, 6 years ago)

Removed dupes

  • 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'];
     363                if ( null === $args['show_tagcloud'] )
     364                        $args['show_tagcloud'] = $args['show_ui'];
     365        } else {
     366                if ( ! isset( $args['public']['admin_menu'] ) )
     367                        $args['public']['admin_menu'] = true;
    364368
     369                if ( ! isset( $args['public']['meta_box'] ) )
     370                        $args['public']['meta_box'] = true;
     371
     372                if ( $args['public']['admin_menu'] || $args['public']['meta_box'] ) {
     373                        if ( null === $args['show_ui'] )
     374                                $args['show_ui'] = true;
     375                }
     376        }
     377       
    365378        $default_caps = array(
    366379                'manage_terms' => 'manage_categories',
    367380                '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 );