Make WordPress Core

Changeset 50039


Ignore:
Timestamp:
01/28/2021 12:07:21 AM (4 years ago)
Author:
whyisjake
Message:

Media: Ensure that wp_get_attachment_metadata can return values from the global $post, if avaiable.

In [49084] (for #50679), wp_get_attachment_metadata() was changed to improve performance, but it had the side effect of eliminating the ability to call it with no arguments and have it default to using the global $post.

This change restores that ability, while keeping the performance improvements from the original change.

Fixes #52196.

Props cfinke, hellofromTonya, mukesh27, dilipbheda, Mista-Flo, audrasjb, SergeyBiryukov, whyisjake.

File:
1 edited

Legend:

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

    r50012 r50039  
    61156115 * @since 2.1.0
    61166116 *
    6117  * @param int  $attachment_id Attachment post ID. Defaults to global $post.
     6117 * @param int  $attachment_id Attachment post ID. Default 0.
    61186118 * @param bool $unfiltered    Optional. If true, filters are not run. Default false.
    61196119 * @return array|false {
     
    61306130function wp_get_attachment_metadata( $attachment_id = 0, $unfiltered = false ) {
    61316131    $attachment_id = (int) $attachment_id;
     6132
     6133    if ( ! $attachment_id ) {
     6134        $post = get_post();
     6135
     6136        if ( ! $post ) {
     6137            return false;
     6138        }
     6139
     6140        $attachment_id = $post->ID;
     6141    }
    61326142
    61336143    $data = get_post_meta( $attachment_id, '_wp_attachment_metadata', true );
Note: See TracChangeset for help on using the changeset viewer.