Title: wp_enqueue_media
Published: April 25, 2014
Last modified: August 20, 2026

---

# wp_enqueue_media( array $args = array() )

## In this article

 * [Parameters](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#changelog)
 * [User Contributed Notes](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#user-contributed-notes)

[ Back to top](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#wp--skip-link--target)

Enqueues all scripts, styles, settings, and templates necessary to use all media
JS APIs.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#parameters)󠁿

 `$args`arrayoptional

Arguments for enqueuing media scripts.

 * `post` int|[WP_Post](https://developer.wordpress.org/reference/classes/wp_post/)
 * Post ID or post object.

Default:`array()`

## 󠀁[Source](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#source)󠁿

    ```php
    function wp_enqueue_media( $args = array() ) {
    	// Enqueue me just once per page, please.
    	if ( did_action( 'wp_enqueue_media' ) ) {
    		return;
    	}

    	global $content_width, $wpdb, $wp_locale;

    	$defaults = array(
    		'post' => null,
    	);
    	$args     = wp_parse_args( $args, $defaults );

    	/*
    	 * We're going to pass the old thickbox media tabs to `media_upload_tabs`
    	 * to ensure plugins will work. We will then unset those tabs.
    	 */
    	$tabs = array(
    		// handler action suffix => tab label
    		'type'     => '',
    		'type_url' => '',
    		'gallery'  => '',
    		'library'  => '',
    	);

    	/** This filter is documented in wp-admin/includes/media.php */
    	$tabs = apply_filters( 'media_upload_tabs', $tabs );
    	unset( $tabs['type'], $tabs['type_url'], $tabs['gallery'], $tabs['library'] );

    	$props = array(
    		'link'  => get_option( 'image_default_link_type' ), // DB default is 'file'.
    		'align' => get_option( 'image_default_align' ),     // Empty default.
    		'size'  => get_option( 'image_default_size' ),      // Empty default.
    	);

    	$exts      = array_merge( wp_get_audio_extensions(), wp_get_video_extensions() );
    	$mimes     = get_allowed_mime_types();
    	$ext_mimes = array();
    	foreach ( $exts as $ext ) {
    		foreach ( $mimes as $ext_preg => $mime_match ) {
    			if ( preg_match( '#' . $ext . '#i', $ext_preg ) ) {
    				$ext_mimes[ $ext ] = $mime_match;
    				break;
    			}
    		}
    	}

    	/**
    	 * Allows showing or hiding the "Create Audio Playlist" button in the media library.
    	 *
    	 * By default, the "Create Audio Playlist" button will always be shown in
    	 * the media library.  If this filter returns `null`, a query will be run
    	 * to determine whether the media library contains any audio items.  This
    	 * was the default behavior prior to version 4.8.0, but this query is
    	 * expensive for large media libraries.
    	 *
    	 * @since 4.7.4
    	 * @since 4.8.0 The filter's default value is `true` rather than `null`.
    	 *
    	 * @link https://core.trac.wordpress.org/ticket/31071
    	 *
    	 * @param bool|null $show Whether to show the button, or `null` to decide based
    	 *                        on whether any audio files exist in the media library.
    	 */
    	$show_audio_playlist = apply_filters( 'media_library_show_audio_playlist', true );
    	if ( null === $show_audio_playlist ) {
    		$show_audio_playlist = $wpdb->get_var(
    			"SELECT ID
    			FROM $wpdb->posts
    			WHERE post_type = 'attachment'
    			AND post_mime_type LIKE 'audio%'
    			LIMIT 1"
    		);
    	}

    	/**
    	 * Allows showing or hiding the "Create Video Playlist" button in the media library.
    	 *
    	 * By default, the "Create Video Playlist" button will always be shown in
    	 * the media library.  If this filter returns `null`, a query will be run
    	 * to determine whether the media library contains any video items.  This
    	 * was the default behavior prior to version 4.8.0, but this query is
    	 * expensive for large media libraries.
    	 *
    	 * @since 4.7.4
    	 * @since 4.8.0 The filter's default value is `true` rather than `null`.
    	 *
    	 * @link https://core.trac.wordpress.org/ticket/31071
    	 *
    	 * @param bool|null $show Whether to show the button, or `null` to decide based
    	 *                        on whether any video files exist in the media library.
    	 */
    	$show_video_playlist = apply_filters( 'media_library_show_video_playlist', true );
    	if ( null === $show_video_playlist ) {
    		$show_video_playlist = $wpdb->get_var(
    			"SELECT ID
    			FROM $wpdb->posts
    			WHERE post_type = 'attachment'
    			AND post_mime_type LIKE 'video%'
    			LIMIT 1"
    		);
    	}

    	/**
    	 * Allows overriding the list of months displayed in the media library.
    	 *
    	 * By default (if this filter does not return an array), a query will be
    	 * run to determine the months that have media items.  This query can be
    	 * expensive for large media libraries, so it may be desirable for sites to
    	 * override this behavior.
    	 *
    	 * @since 4.7.4
    	 *
    	 * @link https://core.trac.wordpress.org/ticket/31071
    	 *
    	 * @param stdClass[]|null $months An array of objects with `month` and `year`
    	 *                                properties, or `null` for default behavior.
    	 */
    	$months = apply_filters( 'media_library_months_with_files', null );
    	if ( ! is_array( $months ) ) {
    		$months = $wpdb->get_results(
    			$wpdb->prepare(
    				"SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
    				FROM $wpdb->posts
    				WHERE post_type = %s
    				ORDER BY post_date DESC",
    				'attachment'
    			)
    		);
    	}
    	foreach ( $months as $month_year ) {
    		$month_year->text = sprintf(
    			/* translators: 1: Month, 2: Year. */
    			__( '%1$s %2$d' ),
    			$wp_locale->get_month( $month_year->month ),
    			$month_year->year
    		);
    	}

    	$infinite_scrolling = true;

    	// A user can opt out of infinite scrolling via their profile's personal options.
    	if ( 'false' === get_user_option( 'infinite_scrolling' ) ) {
    		$infinite_scrolling = false;
    	}

    	/**
    	 * Filters whether the Media Library grid has infinite scrolling. Default `true`.
    	 *
    	 * This setting respects the current user's "Infinite Scrolling" personal
    	 * option, but a filter callback takes precedence over that preference.
    	 *
    	 * @since 5.8.0
    	 * @since 7.1.0 Changed default to `true` and introduced per-user opt-out of infinite scrolling.
    	 *
    	 * @param bool $infinite_scrolling Whether the Media Library grid has infinite scrolling.
    	 */
    	$infinite_scrolling = apply_filters( 'media_library_infinite_scrolling', $infinite_scrolling );

    	$settings = array(
    		'tabs'              => $tabs,
    		'tabUrl'            => add_query_arg( array( 'chromeless' => true ), admin_url( 'media-upload.php' ) ),
    		'mimeTypes'         => wp_list_pluck( get_post_mime_types(), 0 ),
    		/** This filter is documented in wp-admin/includes/media.php */
    		'captions'          => ! apply_filters( 'disable_captions', '' ),
    		'nonce'             => array(
    			'sendToEditor'           => wp_create_nonce( 'media-send-to-editor' ),
    			'setAttachmentThumbnail' => wp_create_nonce( 'set-attachment-thumbnail' ),
    		),
    		'post'              => array(
    			'id' => 0,
    		),
    		'defaultProps'      => $props,
    		'attachmentCounts'  => array(
    			'audio' => ( $show_audio_playlist ) ? 1 : 0,
    			'video' => ( $show_video_playlist ) ? 1 : 0,
    		),
    		'oEmbedProxyUrl'    => rest_url( 'oembed/1.0/proxy' ),
    		'embedExts'         => $exts,
    		'embedMimes'        => $ext_mimes,
    		'contentWidth'      => $content_width,
    		'months'            => $months,
    		'mediaTrash'        => MEDIA_TRASH ? 1 : 0,
    		'infiniteScrolling' => ( $infinite_scrolling ) ? 1 : 0,
    	);

    	$post = null;
    	if ( isset( $args['post'] ) ) {
    		$post             = get_post( $args['post'] );
    		$settings['post'] = array(
    			'id'    => $post->ID,
    			'nonce' => wp_create_nonce( 'update-post_' . $post->ID ),
    		);

    		$thumbnail_support = current_theme_supports( 'post-thumbnails', $post->post_type ) && post_type_supports( $post->post_type, 'thumbnail' );
    		if ( ! $thumbnail_support && 'attachment' === $post->post_type && $post->post_mime_type ) {
    			if ( wp_attachment_is( 'audio', $post ) ) {
    				$thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' );
    			} elseif ( wp_attachment_is( 'video', $post ) ) {
    				$thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' );
    			}
    		}

    		if ( $thumbnail_support ) {
    			$featured_image_id                   = get_post_meta( $post->ID, '_thumbnail_id', true );
    			$settings['post']['featuredImageId'] = $featured_image_id ? $featured_image_id : -1;
    		}
    	}

    	if ( $post ) {
    		$post_type_object = get_post_type_object( $post->post_type );
    	} else {
    		$post_type_object = get_post_type_object( 'post' );
    	}

    	$strings = array(
    		// Generic.
    		'mediaFrameDefaultTitle'      => __( 'Media' ),
    		'url'                         => __( 'URL' ),
    		'addMedia'                    => __( 'Add media' ),
    		'search'                      => __( 'Search' ),
    		'select'                      => __( 'Select' ),
    		'cancel'                      => __( 'Cancel' ),
    		'update'                      => __( 'Update' ),
    		'replace'                     => __( 'Replace' ),
    		'remove'                      => __( 'Remove' ),
    		'back'                        => __( 'Back' ),
    		/*
    		 * translators: This is a would-be plural string used in the media manager.
    		 * If there is not a word you can use in your language to avoid issues with the
    		 * lack of plural support here, turn it into "selected: %d" then translate it.
    		 */
    		'selected'                    => __( '%d selected' ),
    		'dragInfo'                    => __( 'Drag and drop to reorder media files.' ),

    		// Upload.
    		'uploadFilesTitle'            => __( 'Upload files' ),
    		'uploadImagesTitle'           => __( 'Upload images' ),

    		// Library.
    		'mediaLibraryTitle'           => __( 'Media Library' ),
    		'insertMediaTitle'            => __( 'Add media' ),
    		'createNewGallery'            => __( 'Create a new gallery' ),
    		'createNewPlaylist'           => __( 'Create a new playlist' ),
    		'createNewVideoPlaylist'      => __( 'Create a new video playlist' ),
    		'returnToLibrary'             => __( '&#8592; Go to library' ),
    		'allMediaItems'               => __( 'All media items' ),
    		'allDates'                    => __( 'All dates' ),
    		'noItemsFound'                => __( 'No items found.' ),
    		'insertIntoPost'              => $post_type_object->labels->insert_into_item,
    		'unattached'                  => _x( 'Unattached', 'media items' ),
    		'mine'                        => _x( 'Mine', 'media items' ),
    		'trash'                       => _x( 'Trash', 'noun' ),
    		'uploadedToThisPost'          => $post_type_object->labels->uploaded_to_this_item,
    		'warnDelete'                  => __( "You are about to permanently delete this item from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete." ),
    		'warnBulkDelete'              => __( "You are about to permanently delete these items from your site.\nThis action cannot be undone.\n 'Cancel' to stop, 'OK' to delete." ),
    		'warnBulkTrash'               => __( "You are about to trash these items.\n  'Cancel' to stop, 'OK' to delete." ),
    		'bulkSelect'                  => __( 'Bulk select' ),
    		'trashSelected'               => __( 'Move to Trash' ),
    		'restoreSelected'             => __( 'Restore from Trash' ),
    		'deletePermanently'           => __( 'Delete permanently' ),
    		'errorDeleting'               => __( 'Error in deleting the attachment.' ),
    		'apply'                       => __( 'Apply' ),
    		'filterByDate'                => __( 'Filter by date' ),
    		'filterByType'                => __( 'Filter by type' ),
    		'searchLabel'                 => __( 'Search media' ),
    		'searchMediaLabel'            => __( 'Search media' ),          // Backward compatibility pre-5.3.
    		'searchMediaPlaceholder'      => __( 'Search media items...' ), // Placeholder (no ellipsis), backward compatibility pre-5.3.
    		/* translators: %d: Number of attachments found in a search. */
    		'mediaFound'                  => __( 'Number of media items found: %d' ),
    		'noMedia'                     => __( 'No media items found.' ),
    		'noMediaTryNewSearch'         => __( 'No media items found. Try a different search.' ),
    		/* translators: %s: Media item title or file name. */
    		'mediaItemViewed'             => __( 'Viewing media item: %s' ),

    		// Library Details.
    		'attachmentDetails'           => __( 'Attachment details' ),

    		// From URL.
    		'insertFromUrlTitle'          => __( 'Insert from URL' ),

    		// Featured Images.
    		'setFeaturedImageTitle'       => $post_type_object->labels->featured_image,
    		'setFeaturedImage'            => $post_type_object->labels->set_featured_image,

    		// Gallery.
    		'createGalleryTitle'          => __( 'Create gallery' ),
    		'editGalleryTitle'            => __( 'Edit gallery' ),
    		'cancelGalleryTitle'          => __( '&#8592; Cancel gallery' ),
    		'insertGallery'               => __( 'Insert gallery' ),
    		'updateGallery'               => __( 'Update gallery' ),
    		'addToGallery'                => __( 'Add to gallery' ),
    		'addToGalleryTitle'           => __( 'Add to gallery' ),
    		'reverseOrder'                => __( 'Reverse order' ),

    		// Edit Image.
    		'imageDetailsTitle'           => __( 'Image details' ),
    		'imageReplaceTitle'           => __( 'Replace image' ),
    		'imageDetailsCancel'          => __( 'Cancel edit' ),
    		'editImage'                   => __( 'Edit image' ),

    		// Crop Image.
    		'chooseImage'                 => __( 'Choose image' ),
    		'selectAndCrop'               => __( 'Select and crop' ),
    		'skipCropping'                => __( 'Skip cropping' ),
    		'cropImage'                   => __( 'Crop image' ),
    		'cropYourImage'               => __( 'Crop your image' ),
    		'cropping'                    => __( 'Cropping&hellip;' ),
    		/* translators: 1: Suggested width number, 2: Suggested height number. */
    		'suggestedDimensions'         => __( 'Suggested image dimensions: %1$s by %2$s pixels.' ),
    		'cropError'                   => __( 'There has been an error cropping your image.' ),

    		// Edit Audio.
    		'audioDetailsTitle'           => __( 'Audio details' ),
    		'audioReplaceTitle'           => __( 'Replace audio' ),
    		'audioAddSourceTitle'         => __( 'Add audio source' ),
    		'audioDetailsCancel'          => __( 'Cancel edit' ),

    		// Edit Video.
    		'videoDetailsTitle'           => __( 'Video details' ),
    		'videoReplaceTitle'           => __( 'Replace video' ),
    		'videoAddSourceTitle'         => __( 'Add video source' ),
    		'videoDetailsCancel'          => __( 'Cancel edit' ),
    		'videoSelectPosterImageTitle' => __( 'Select poster image' ),
    		'videoAddTrackTitle'          => __( 'Add subtitles' ),

    		// Playlist.
    		'playlistDragInfo'            => __( 'Drag and drop to reorder tracks.' ),
    		'createPlaylistTitle'         => __( 'Create audio playlist' ),
    		'editPlaylistTitle'           => __( 'Edit audio playlist' ),
    		'cancelPlaylistTitle'         => __( '&#8592; Cancel audio playlist' ),
    		'insertPlaylist'              => __( 'Insert audio playlist' ),
    		'updatePlaylist'              => __( 'Update audio playlist' ),
    		'addToPlaylist'               => __( 'Add to audio playlist' ),
    		'addToPlaylistTitle'          => __( 'Add to Audio Playlist' ),

    		// Video Playlist.
    		'videoPlaylistDragInfo'       => __( 'Drag and drop to reorder videos.' ),
    		'createVideoPlaylistTitle'    => __( 'Create video playlist' ),
    		'editVideoPlaylistTitle'      => __( 'Edit video playlist' ),
    		'cancelVideoPlaylistTitle'    => __( '&#8592; Cancel video playlist' ),
    		'insertVideoPlaylist'         => __( 'Insert video playlist' ),
    		'updateVideoPlaylist'         => __( 'Update video playlist' ),
    		'addToVideoPlaylist'          => __( 'Add to video playlist' ),
    		'addToVideoPlaylistTitle'     => __( 'Add to video Playlist' ),

    		// Headings.
    		'filterAttachments'           => __( 'Filter media' ),
    		'attachmentsList'             => __( 'Media list' ),
    	);

    	/**
    	 * Filters the media view settings.
    	 *
    	 * @since 3.5.0
    	 *
    	 * @param array   $settings List of media view settings.
    	 * @param WP_Post $post     Post object.
    	 */
    	$settings = apply_filters( 'media_view_settings', $settings, $post );

    	/**
    	 * Filters the media view strings.
    	 *
    	 * @since 3.5.0
    	 *
    	 * @param string[] $strings Array of media view strings keyed by the name they'll be referenced by in JavaScript.
    	 * @param WP_Post  $post    Post object.
    	 */
    	$strings = apply_filters( 'media_view_strings', $strings, $post );

    	$strings['settings'] = $settings;

    	/*
    	 * Ensure we enqueue media-editor first, that way media-views
    	 * is registered internally before we try to localize it. See #24724.
    	 */
    	wp_enqueue_script( 'media-editor' );
    	wp_localize_script( 'media-views', '_wpMediaViewsL10n', $strings );

    	wp_enqueue_script( 'media-audiovideo' );
    	wp_enqueue_style( 'media-views' );
    	if ( is_admin() ) {
    		wp_enqueue_script( 'mce-view' );
    		wp_enqueue_script( 'image-edit' );
    	}
    	wp_enqueue_style( 'imgareaselect' );
    	wp_plupload_default_settings();

    	require_once ABSPATH . WPINC . '/media-template.php';
    	add_action( 'admin_footer', 'wp_print_media_templates' );
    	add_action( 'wp_footer', 'wp_print_media_templates' );
    	add_action( 'customize_controls_print_footer_scripts', 'wp_print_media_templates' );

    	/**
    	 * Fires at the conclusion of wp_enqueue_media().
    	 *
    	 * @since 3.5.0
    	 */
    	do_action( 'wp_enqueue_media' );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/media.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/media.php#L4923)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/media.php#L4923-L5323)

## 󠀁[Hooks](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#hooks)󠁿

 [apply_filters( ‘disable_captions’, bool $bool )](https://developer.wordpress.org/reference/hooks/disable_captions/)

Filters whether to disable captions.

 [apply_filters( ‘media_library_infinite_scrolling’, bool $infinite_scrolling )](https://developer.wordpress.org/reference/hooks/media_library_infinite_scrolling/)

Filters whether the Media Library grid has infinite scrolling. Default `true`.

 [apply_filters( ‘media_library_months_with_files’, stdClass[]|null $months )](https://developer.wordpress.org/reference/hooks/media_library_months_with_files/)

Allows overriding the list of months displayed in the media library.

 [apply_filters( ‘media_library_show_audio_playlist’, bool|null $show )](https://developer.wordpress.org/reference/hooks/media_library_show_audio_playlist/)

Allows showing or hiding the “Create Audio Playlist” button in the media library.

 [apply_filters( ‘media_library_show_video_playlist’, bool|null $show )](https://developer.wordpress.org/reference/hooks/media_library_show_video_playlist/)

Allows showing or hiding the “Create Video Playlist” button in the media library.

 [apply_filters( ‘media_upload_tabs’, string[] $_default_tabs )](https://developer.wordpress.org/reference/hooks/media_upload_tabs/)

Filters the available tabs in the legacy (pre-3.5.0) media popup.

 [apply_filters( ‘media_view_settings’, array $settings, WP_Post $post )](https://developer.wordpress.org/reference/hooks/media_view_settings/)

Filters the media view settings.

 [apply_filters( ‘media_view_strings’, string[] $strings, WP_Post $post )](https://developer.wordpress.org/reference/hooks/media_view_strings/)

Filters the media view strings.

 [do_action( ‘wp_enqueue_media’ )](https://developer.wordpress.org/reference/hooks/wp_enqueue_media/)

Fires at the conclusion of [wp_enqueue_media()](https://developer.wordpress.org/reference/functions/wp_enqueue_media/).

## 󠀁[Related](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#related)󠁿

| Uses | Description | 
| [wp_attachment_is()](https://developer.wordpress.org/reference/functions/wp_attachment_is/)`wp-includes/post.php` |

Verifies an attachment is of a given type.

  | 
| [wp_localize_script()](https://developer.wordpress.org/reference/functions/wp_localize_script/)`wp-includes/functions.wp-scripts.php` |

Localizes a script.

  | 
| [wp_list_pluck()](https://developer.wordpress.org/reference/functions/wp_list_pluck/)`wp-includes/functions.php` |

Plucks a certain field out of each object or array in an array.

  | 
| [get_allowed_mime_types()](https://developer.wordpress.org/reference/functions/get_allowed_mime_types/)`wp-includes/functions.php` |

Retrieves the list of allowed mime types and file extensions.

  | 
| [WP_Locale::get_month()](https://developer.wordpress.org/reference/classes/wp_locale/get_month/)`wp-includes/class-wp-locale.php` |

Retrieves the full translated month by month number.

  | 
| [did_action()](https://developer.wordpress.org/reference/functions/did_action/)`wp-includes/plugin.php` |

Retrieves the number of times an action has been fired during the current request.

  | 
| [get_user_option()](https://developer.wordpress.org/reference/functions/get_user_option/)`wp-includes/user.php` |

Retrieves user option that can be either per Site or per Network.

  | 
| [wp_plupload_default_settings()](https://developer.wordpress.org/reference/functions/wp_plupload_default_settings/)`wp-includes/media.php` |

Prints default Plupload arguments.

  | 
| [wp_get_video_extensions()](https://developer.wordpress.org/reference/functions/wp_get_video_extensions/)`wp-includes/media.php` |

Returns a filtered list of supported video formats.

  | 
| [wp_get_audio_extensions()](https://developer.wordpress.org/reference/functions/wp_get_audio_extensions/)`wp-includes/media.php` |

Returns a filtered list of supported audio formats.

  | 
| [get_post_mime_types()](https://developer.wordpress.org/reference/functions/get_post_mime_types/)`wp-includes/post.php` |

Gets default post mime types.

  | 
| [post_type_supports()](https://developer.wordpress.org/reference/functions/post_type_supports/)`wp-includes/post.php` |

Checks a post type’s support for a given feature.

  | 
| [rest_url()](https://developer.wordpress.org/reference/functions/rest_url/)`wp-includes/rest-api.php` |

Retrieves the URL to a REST endpoint.

  | 
| [current_theme_supports()](https://developer.wordpress.org/reference/functions/current_theme_supports/)`wp-includes/theme.php` |

Checks a theme’s support for a given feature.

  | 
| [__()](https://developer.wordpress.org/reference/functions/__/)`wp-includes/l10n.php` |

Retrieves the translation of $text.

  | 
| [_x()](https://developer.wordpress.org/reference/functions/_x/)`wp-includes/l10n.php` |

Retrieves translated string with gettext context.

  | 
| [wp_create_nonce()](https://developer.wordpress.org/reference/functions/wp_create_nonce/)`wp-includes/pluggable.php` |

Creates a cryptographic token tied to a specific action, user, user session, and window of time.

  | 
| [is_admin()](https://developer.wordpress.org/reference/functions/is_admin/)`wp-includes/load.php` |

Determines whether the current request is for an administrative interface page.

  | 
| [wp_enqueue_script()](https://developer.wordpress.org/reference/functions/wp_enqueue_script/)`wp-includes/functions.wp-scripts.php` |

Enqueues a script.

  | 
| [wp_parse_args()](https://developer.wordpress.org/reference/functions/wp_parse_args/)`wp-includes/functions.php` |

Merges user defined arguments into defaults array.

  | 
| [add_query_arg()](https://developer.wordpress.org/reference/functions/add_query_arg/)`wp-includes/functions.php` |

Retrieves a modified URL query string.

  | 
| [admin_url()](https://developer.wordpress.org/reference/functions/admin_url/)`wp-includes/link-template.php` |

Retrieves the URL to the admin area for the current site.

  | 
| [wp_enqueue_style()](https://developer.wordpress.org/reference/functions/wp_enqueue_style/)`wp-includes/functions.wp-styles.php` |

Enqueues a CSS stylesheet.

  | 
| [apply_filters()](https://developer.wordpress.org/reference/functions/apply_filters/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to a filter hook.

  | 
| [add_action()](https://developer.wordpress.org/reference/functions/add_action/)`wp-includes/plugin.php` |

Adds a callback function to an action hook.

  | 
| [do_action()](https://developer.wordpress.org/reference/functions/do_action/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to an action hook.

  | 
| [get_option()](https://developer.wordpress.org/reference/functions/get_option/)`wp-includes/option.php` |

Retrieves an option value based on an option name.

  | 
| [get_post_meta()](https://developer.wordpress.org/reference/functions/get_post_meta/)`wp-includes/post.php` |

Retrieves a post meta field for the given post ID.

  | 
| [get_post()](https://developer.wordpress.org/reference/functions/get_post/)`wp-includes/post.php` |

Retrieves post data given a post ID or post object.

  | 
| [get_post_type_object()](https://developer.wordpress.org/reference/functions/get_post_type_object/)`wp-includes/post.php` |

Retrieves a post type object by name.

  | 
| [wpdb::get_var()](https://developer.wordpress.org/reference/classes/wpdb/get_var/)`wp-includes/class-wpdb.php` |

Retrieves one value from the database.

  | 
| [wpdb::get_results()](https://developer.wordpress.org/reference/classes/wpdb/get_results/)`wp-includes/class-wpdb.php` |

Retrieves an entire SQL result set from the database (i.e., many rows).

  | 
| [wpdb::prepare()](https://developer.wordpress.org/reference/classes/wpdb/prepare/)`wp-includes/class-wpdb.php` |

Prepares a SQL query for safe execution.

  |

[Show 28 more](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#)

| Used by | Description | 
| [WP_Widget_Text::enqueue_admin_scripts()](https://developer.wordpress.org/reference/classes/wp_widget_text/enqueue_admin_scripts/)`wp-includes/widgets/class-wp-widget-text.php` |

Loads the required scripts and styles for the widget control.

  | 
| [WP_Widget_Media::enqueue_admin_scripts()](https://developer.wordpress.org/reference/classes/wp_widget_media/enqueue_admin_scripts/)`wp-includes/widgets/class-wp-widget-media.php` |

Loads the required scripts and styles for the widget control.

  | 
| [WP_Customize_Media_Control::enqueue()](https://developer.wordpress.org/reference/classes/wp_customize_media_control/enqueue/)`wp-includes/customize/class-wp-customize-media-control.php` |

Enqueue control related scripts/styles.

  | 
| [media_buttons()](https://developer.wordpress.org/reference/functions/media_buttons/)`wp-admin/includes/media.php` |

Adds the media button to the editor.

  | 
| [Custom_Image_Header::js_includes()](https://developer.wordpress.org/reference/classes/custom_image_header/js_includes/)`wp-admin/includes/class-custom-image-header.php` |

Sets up the enqueue for the JavaScript files.

  | 
| [Custom_Background::admin_load()](https://developer.wordpress.org/reference/classes/custom_background/admin_load/)`wp-admin/includes/class-custom-background.php` |

Sets up the enqueue for the CSS & JavaScript files.

  | 
| [WP_Customize_Header_Image_Control::enqueue()](https://developer.wordpress.org/reference/classes/wp_customize_header_image_control/enqueue/)`wp-includes/customize/class-wp-customize-header-image-control.php` |

Enqueues control related scripts/styles.

  |

[Show 2 more](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#changelog)󠁿

| Version | Description | 
| [3.5.0](https://developer.wordpress.org/reference/since/3.5.0/) | Introduced. |

## 󠀁[User Contributed Notes](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#user-contributed-notes)󠁿

 1.   [Skip to note 3 content](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#comment-content-1961)
 2.    [Dylan Kuhn](https://profiles.wordpress.org/cyberhobo/)  [  10 years ago  ](https://developer.wordpress.org/reference/functions/wp_enqueue_media/#comment-1961)
 3.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F%23comment-1961)
     Vote results for this note: 1[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F%23comment-1961)
 4.  This function should be called from the `['admin_enqueue_scripts'](https://developer.wordpress.org/reference/hooks/admin_enqueue_scripts/)`
     action hook, or later.
 5.   [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F%3Freplytocom%3D1961%23feedback-editor-1961)
 6.   [Skip to note 4 content](https://developer.wordpress.org/reference/functions/wp_enqueue_media/?output_format=md#comment-content-752)
 7.    [Codex](https://profiles.wordpress.org/codex/)  [  11 years ago  ](https://developer.wordpress.org/reference/functions/wp_enqueue_media/#comment-752)
 8.  [You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F%23comment-752)
     Vote results for this note: 0[You must log in to vote on the helpfulness of this note](https://login.wordpress.org?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F%23comment-752)
 9.  Enqueue the media scripts for a particular post:
 10.     ```php
         <?php
         $args = array( 'post' => 34 );
         wp_enqueue_media( $args );
         ?>
         ```
     
 11.  [Log in to add feedback](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F%3Freplytocom%3D752%23feedback-editor-752)

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fwp_enqueue_media%2F)
before being able to contribute a note or feedback.