Make WordPress Core


Ignore:
Timestamp:
07/07/2020 12:53:41 AM (5 years ago)
Author:
whyisjake
Message:

Taxonomy: Add support for default terms for custom taxonomies.

The new default_term argument is added to register_taxonomy() allowing a user to define the default term name and optionally slug and description.

Fixes #43517.

Props enrico.sorcinelli, SergeyBiryukov, desrosj, davidbaumwald, whyisjake.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-taxonomy.php

    r48273 r48356  
    209209     */
    210210    public $rest_controller_class;
     211
     212    /**
     213     * The default term name for this taxonomy. If you pass an array you have
     214     * to set 'name' and optionally 'slug' and 'description'.
     215     *
     216     * @since 5.5.0
     217     * @var array|string
     218     */
     219    public $default_term;
    211220
    212221    /**
     
    289298            'rest_base'             => false,
    290299            'rest_controller_class' => false,
     300            'default_term'          => null,
    291301            '_builtin'              => false,
    292302        );
     
    387397        }
    388398
     399        // Default taxonomy term.
     400        if ( ! empty( $args['default_term'] ) ) {
     401            if ( ! is_array( $args['default_term'] ) ) {
     402                $args['default_term'] = array( 'name' => $args['default_term'] );
     403            }
     404            $args['default_term'] = wp_parse_args(
     405                $args['default_term'],
     406                array(
     407                    'name'        => '',
     408                    'slug'        => '',
     409                    'description' => '',
     410                )
     411            );
     412        }
     413
    389414        foreach ( $args as $property_name => $property_value ) {
    390415            $this->$property_name = $property_value;
Note: See TracChangeset for help on using the changeset viewer.