Make WordPress Core

Changeset 25572


Ignore:
Timestamp:
09/23/2013 05:11:09 PM (11 years ago)
Author:
nacin
Message:

Introduce a meta_box_cb argument for register_taxonomy().

The specified callback function is used as the meta box callback for the taxonomy.

props garyc40, helen.
fixes #14206.

Location:
trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/edit-form-advanced.php

    r25527 r25572  
    141141// all taxonomies
    142142foreach ( get_object_taxonomies( $post ) as $tax_name ) {
    143     $taxonomy = get_taxonomy($tax_name);
     143    $taxonomy = get_taxonomy( $tax_name );
    144144    if ( ! $taxonomy->show_ui )
    145145        continue;
     
    147147    $label = $taxonomy->labels->name;
    148148
    149     if ( !is_taxonomy_hierarchical($tax_name) )
    150         add_meta_box('tagsdiv-' . $tax_name, $label, 'post_tags_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));
     149    if ( ! is_taxonomy_hierarchical( $tax_name ) )
     150        $tax_meta_box_id = 'tagsdiv-' . $tax_name;
    151151    else
    152         add_meta_box($tax_name . 'div', $label, 'post_categories_meta_box', null, 'side', 'core', array( 'taxonomy' => $tax_name ));
     152        $tax_meta_box_id = $tax_name . 'div';
     153
     154    add_meta_box( $tax_meta_box_id, $label, $taxonomy->meta_box_cb, null, 'side', 'core', array( 'taxonomy' => $tax_name ) );
    153155}
    154156
  • trunk/src/wp-includes/post.php

    r25554 r25572  
    11401140 * - supports - An alias for calling add_post_type_support() directly. Defaults to title and editor.
    11411141 *     * See {@link add_post_type_support()} for documentation.
    1142  * - register_meta_box_cb - Provide a callback function that will be called when setting up the
    1143  *     meta boxes for the edit form. Do remove_meta_box() and add_meta_box() calls in the callback.
     1142 * - register_meta_box_cb - Provide a callback function that sets up the meta boxes
     1143 *     for the edit form. Do remove_meta_box() and add_meta_box() calls in the callback.
    11441144 * - taxonomies - An array of taxonomy identifiers that will be registered for the post type.
    11451145 *     * Default is no taxonomies.
  • trunk/src/wp-includes/taxonomy.php

    r25553 r25572  
    290290 * - show_tagcloud - Whether to list the taxonomy in the Tag Cloud Widget.
    291291 *     * If not set, the default is inherited from show_ui.
     292 * - meta_box_cb - Provide a callback function for the meta box display. Defaults to
     293 *     post_categories_meta_box for hierarchical taxonomies and post_tags_meta_box for non-hierarchical.
    292294 * - capabilities - Array of capabilities for this taxonomy.
    293295 *     * You can see accepted values in this function.
     
    333335        'show_in_nav_menus'     => null,
    334336        'show_tagcloud'         => null,
     337        'meta_box_cb'           => null,
    335338        'capabilities'          => array(),
    336339        'rewrite'               => true,
     
    401404    $args['labels'] = get_taxonomy_labels( (object) $args );
    402405    $args['label'] = $args['labels']->name;
     406
     407    // If not set, use the default meta box
     408    if ( null === $args['meta_box_cb'] ) {
     409        if ( $args['hierarchical'] )
     410            $args['meta_box_cb'] = 'post_categories_meta_box';
     411        else
     412            $args['meta_box_cb'] = 'post_tags_meta_box';
     413    }
    403414
    404415    $wp_taxonomies[ $taxonomy ] = (object) $args;
Note: See TracChangeset for help on using the changeset viewer.