cp_select_upload_media_category()

Outputs a select box to select upload media category.


Description

Displays only if media storage option has been set to ‘category’.


Return

(string)


Source

File: wp-admin/includes/media.php

function cp_select_upload_media_category() {
	$media_select = '';
	$storefolders = get_option( 'uploads_use_yearmonth_folders' );
	if ( $storefolders === '3' ) {
		$cat_subfolder = get_option( 'media_cat_upload_folder' );

		$media_terms = get_terms(
			array(
				'taxonomy'   => 'media_category',
				'hide_empty' => false,
			)
		);

		if ( ! empty( $media_terms ) ) {
			$media_select .= '<div class="upload-category"><label for="upload-category"><strong>' . esc_html__( 'Please choose the upload media category' ) . '</strong></label>';
			$media_select .= '<select id="upload-category" name="upload-category" class="attachment-filters">';
			$media_select .= '<option value=""' . selected( in_array( $cat_subfolder, array( '', '/' ) ), true, false ) . '>&nbsp;' . esc_html__( 'Select Media Category' ) . '&nbsp;</option>';

			foreach ( $media_terms as $media_term ) {
				$ancestor_ids = get_ancestors( $media_term->term_id, 'media_category' );
				$count = count( $ancestor_ids );
				$spaces = '';
				$slug = $media_term->slug;
				if ( $count > 0 ) {
					foreach ( $ancestor_ids as $ancestor_id ) {
						$spaces .= '&nbsp;';
						$slug = get_term( $ancestor_id, 'media_category' )->slug . '/' . $slug;
					}
				}
				$media_select .= '<option class="level-' . esc_attr( $count ) . '" value="' . esc_attr( $slug ) . '"' . selected( '/' . $slug, $cat_subfolder, false ) . '>' . esc_html( $spaces . $media_term->name ) . '</option>';
			}
			$media_select .= '</select></div>';
			$media_select .= wp_nonce_field( 'media-cat-upload', 'media_cat_upload_nonce', true, false );
		}
	}
	return $media_select;
}

Changelog

Changelog
Version Description
CP-2.2.0 Introduced. CP-2.2.0