Function and usage of get_attached_media() in wordpress


Answers ( 1 )


    The get_attached_media() function in WordPress is used to retrieve media files that are attached to a specific post. Here's a detailed explanation of its functionality and usage:


    • Name: get_attached_media()
    • Purpose: To retrieve media files (like images, videos, etc.) that are attached to a specific post in WordPress.


    1. $type (string, required): This parameter specifies the MIME type of the media you want to retrieve. MIME types are used to indicate the nature and format of a document, file, or assortment of bytes. For example, to retrieve images, you might use 'image', for videos 'video', and so on.

    2. $post (int | WP_Post, optional): This parameter can be either an integer (which would be a post ID) or a WP_Post object. If you provide a post ID, the function will fetch media attached to that specific post. If a WP_Post object is provided, it will fetch media attached to the post represented by that object. If this parameter is omitted, the function uses the global $post object, meaning it retrieves media attached to the current post in the WordPress Loop.


    • WP_Post[]: The function returns an array of WP_Post objects. Each object in the array represents a piece of media that is attached to the specified post. These objects contain various properties and methods that you can use to display or manipulate the media.

    Sample Usage:

    Example 1: Fetching Images Attached to the Current Post

    $images = get_attached_media('image');
    foreach ( $images as $image ) {
        // Display the image, for example, using wp_get_attachment_image()
        echo wp_get_attachment_image($image->ID);

    In this example, get_attached_media('image') fetches all images attached to the current post. The function returns an array of WP_Post objects, each representing an image. We then loop through this array and use wp_get_attachment_image() to display each image.

    Example 2: Fetching Videos Attached to a Specific Post

    $post_id = 123; // Example post ID
    $videos = get_attached_media('video', $post_id);
    foreach ( $videos as $video ) {
        // Process or display the video

    Here, get_attached_media('video', $post_id) is used to retrieve all videos attached to the post with ID 123. It returns an array of WP_Post objects for each video, which can then be processed or displayed as needed.

    These examples demonstrate how get_attached_media() can be used to retrieve and manipulate media files associated with posts in WordPress.

Leave an answer