get_oembed_response_data

The timeline below displays how wordpress function get_oembed_response_data has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Retrieves the oEmbed response data for a given post.
 *
 * @since 4.4.0
 *
 * @param WP_Post|int $post  Post ID or post object.
 * @param int         $width The requested width.
 * @return array|false Response data on success, false if post doesn't exist
 *                     or is not publicly viewable.
 */
function get_oembed_response_data($post, $width)
{
    $post = get_post($post);
    $width = absint($width);
    if (!$post) {
        return false;
    }
    if (!is_post_publicly_viewable($post)) {
        return false;
    }
    /**
     * Filters the allowed minimum and maximum widths for the oEmbed response.
     *
     * @since 4.4.0
     *
     * @param array $min_max_width {
     *     Minimum and maximum widths for the oEmbed response.
     *
     *     @type int $min Minimum width. Default 200.
     *     @type int $max Maximum width. Default 600.
     * }
     */
    $min_max_width = apply_filters('oembed_min_max_width', array('min' => 200, 'max' => 600));
    $width = min(max($min_max_width['min'], $width), $min_max_width['max']);
    $height = max((int) ceil($width / 16 * 9), 200);
    $data = array('version' => '1.0', 'provider_name' => get_bloginfo('name'), 'provider_url' => get_home_url(), 'author_name' => get_bloginfo('name'), 'author_url' => get_home_url(), 'title' => get_the_title($post), 'type' => 'link');
    $author = get_userdata($post->post_author);
    if ($author) {
        $data['author_name'] = $author->display_name;
        $data['author_url'] = get_author_posts_url($author->ID);
    }
    /**
     * Filters the oEmbed response data.
     *
     * @since 4.4.0
     *
     * @param array   $data   The response data.
     * @param WP_Post $post   The post object.
     * @param int     $width  The requested width.
     * @param int     $height The calculated height.
     */
    return apply_filters('oembed_response_data', $data, $post, $width, $height);
}

WordPress Version: 6.1

/**
 * Retrieves the oEmbed response data for a given post.
 *
 * @since 4.4.0
 *
 * @param WP_Post|int $post  Post ID or post object.
 * @param int         $width The requested width.
 * @return array|false Response data on success, false if post doesn't exist
 *                     or is not publicly viewable.
 */
function get_oembed_response_data($post, $width)
{
    $post = get_post($post);
    $width = absint($width);
    if (!$post) {
        return false;
    }
    if (!is_post_publicly_viewable($post)) {
        return false;
    }
    /**
     * Filters the allowed minimum and maximum widths for the oEmbed response.
     *
     * @since 4.4.0
     *
     * @param array $min_max_width {
     *     Minimum and maximum widths for the oEmbed response.
     *
     *     @type int $min Minimum width. Default 200.
     *     @type int $max Maximum width. Default 600.
     * }
     */
    $min_max_width = apply_filters('oembed_min_max_width', array('min' => 200, 'max' => 600));
    $width = min(max($min_max_width['min'], $width), $min_max_width['max']);
    $height = max(ceil($width / 16 * 9), 200);
    $data = array('version' => '1.0', 'provider_name' => get_bloginfo('name'), 'provider_url' => get_home_url(), 'author_name' => get_bloginfo('name'), 'author_url' => get_home_url(), 'title' => get_the_title($post), 'type' => 'link');
    $author = get_userdata($post->post_author);
    if ($author) {
        $data['author_name'] = $author->display_name;
        $data['author_url'] = get_author_posts_url($author->ID);
    }
    /**
     * Filters the oEmbed response data.
     *
     * @since 4.4.0
     *
     * @param array   $data   The response data.
     * @param WP_Post $post   The post object.
     * @param int     $width  The requested width.
     * @param int     $height The calculated height.
     */
    return apply_filters('oembed_response_data', $data, $post, $width, $height);
}

WordPress Version: 5.7

/**
 * Retrieves the oEmbed response data for a given post.
 *
 * @since 4.4.0
 *
 * @param WP_Post|int $post  Post object or ID.
 * @param int         $width The requested width.
 * @return array|false Response data on success, false if post doesn't exist
 *                     or is not publicly viewable.
 */
function get_oembed_response_data($post, $width)
{
    $post = get_post($post);
    $width = absint($width);
    if (!$post) {
        return false;
    }
    if (!is_post_publicly_viewable($post)) {
        return false;
    }
    /**
     * Filters the allowed minimum and maximum widths for the oEmbed response.
     *
     * @since 4.4.0
     *
     * @param array $min_max_width {
     *     Minimum and maximum widths for the oEmbed response.
     *
     *     @type int $min Minimum width. Default 200.
     *     @type int $max Maximum width. Default 600.
     * }
     */
    $min_max_width = apply_filters('oembed_min_max_width', array('min' => 200, 'max' => 600));
    $width = min(max($min_max_width['min'], $width), $min_max_width['max']);
    $height = max(ceil($width / 16 * 9), 200);
    $data = array('version' => '1.0', 'provider_name' => get_bloginfo('name'), 'provider_url' => get_home_url(), 'author_name' => get_bloginfo('name'), 'author_url' => get_home_url(), 'title' => get_the_title($post), 'type' => 'link');
    $author = get_userdata($post->post_author);
    if ($author) {
        $data['author_name'] = $author->display_name;
        $data['author_url'] = get_author_posts_url($author->ID);
    }
    /**
     * Filters the oEmbed response data.
     *
     * @since 4.4.0
     *
     * @param array   $data   The response data.
     * @param WP_Post $post   The post object.
     * @param int     $width  The requested width.
     * @param int     $height The calculated height.
     */
    return apply_filters('oembed_response_data', $data, $post, $width, $height);
}

WordPress Version: 5.2

/**
 * Retrieves the oEmbed response data for a given post.
 *
 * @since 4.4.0
 *
 * @param WP_Post|int $post  Post object or ID.
 * @param int         $width The requested width.
 * @return array|false Response data on success, false if post doesn't exist.
 */
function get_oembed_response_data($post, $width)
{
    $post = get_post($post);
    $width = absint($width);
    if (!$post) {
        return false;
    }
    if ('publish' !== get_post_status($post)) {
        return false;
    }
    /**
     * Filters the allowed minimum and maximum widths for the oEmbed response.
     *
     * @since 4.4.0
     *
     * @param array $min_max_width {
     *     Minimum and maximum widths for the oEmbed response.
     *
     *     @type int $min Minimum width. Default 200.
     *     @type int $max Maximum width. Default 600.
     * }
     */
    $min_max_width = apply_filters('oembed_min_max_width', array('min' => 200, 'max' => 600));
    $width = min(max($min_max_width['min'], $width), $min_max_width['max']);
    $height = max(ceil($width / 16 * 9), 200);
    $data = array('version' => '1.0', 'provider_name' => get_bloginfo('name'), 'provider_url' => get_home_url(), 'author_name' => get_bloginfo('name'), 'author_url' => get_home_url(), 'title' => get_the_title($post), 'type' => 'link');
    $author = get_userdata($post->post_author);
    if ($author) {
        $data['author_name'] = $author->display_name;
        $data['author_url'] = get_author_posts_url($author->ID);
    }
    /**
     * Filters the oEmbed response data.
     *
     * @since 4.4.0
     *
     * @param array   $data   The response data.
     * @param WP_Post $post   The post object.
     * @param int     $width  The requested width.
     * @param int     $height The calculated height.
     */
    return apply_filters('oembed_response_data', $data, $post, $width, $height);
}

WordPress Version: 4.6

/**
 * Retrieves the oEmbed response data for a given post.
 *
 * @since 4.4.0
 *
 * @param WP_Post|int $post  Post object or ID.
 * @param int         $width The requested width.
 * @return array|false Response data on success, false if post doesn't exist.
 */
function get_oembed_response_data($post, $width)
{
    $post = get_post($post);
    $width = absint($width);
    if (!$post) {
        return false;
    }
    if ('publish' !== get_post_status($post)) {
        return false;
    }
    /**
     * Filters the allowed minimum and maximum widths for the oEmbed response.
     *
     * @since 4.4.0
     *
     * @param array $min_max_width {
     *     Minimum and maximum widths for the oEmbed response.
     *
     *     @type int $min Minimum width. Default 200.
     *     @type int $max Maximum width. Default 600.
     * }
     */
    $min_max_width = apply_filters('oembed_min_max_width', array('min' => 200, 'max' => 600));
    $width = min(max($min_max_width['min'], $width), $min_max_width['max']);
    $height = max(ceil($width / 16 * 9), 200);
    $data = array('version' => '1.0', 'provider_name' => get_bloginfo('name'), 'provider_url' => get_home_url(), 'author_name' => get_bloginfo('name'), 'author_url' => get_home_url(), 'title' => $post->post_title, 'type' => 'link');
    $author = get_userdata($post->post_author);
    if ($author) {
        $data['author_name'] = $author->display_name;
        $data['author_url'] = get_author_posts_url($author->ID);
    }
    /**
     * Filters the oEmbed response data.
     *
     * @since 4.4.0
     *
     * @param array   $data   The response data.
     * @param WP_Post $post   The post object.
     * @param int     $width  The requested width.
     * @param int     $height The calculated height.
     */
    return apply_filters('oembed_response_data', $data, $post, $width, $height);
}

WordPress Version: 4.4

/**
 * Retrieves the oEmbed response data for a given post.
 *
 * @since 4.4.0
 *
 * @param WP_Post|int $post  Post object or ID.
 * @param int         $width The requested width.
 * @return array|false Response data on success, false if post doesn't exist.
 */
function get_oembed_response_data($post, $width)
{
    $post = get_post($post);
    if (!$post) {
        return false;
    }
    if ('publish' !== get_post_status($post)) {
        return false;
    }
    /**
     * Filter the allowed minimum and maximum widths for the oEmbed response.
     *
     * @since 4.4.0
     *
     * @param array $min_max_width {
     *     Minimum and maximum widths for the oEmbed response.
     *
     *     @type int $min Minimum width. Default 200.
     *     @type int $max Maximum width. Default 600.
     * }
     */
    $min_max_width = apply_filters('oembed_min_max_width', array('min' => 200, 'max' => 600));
    $width = min(max($min_max_width['min'], $width), $min_max_width['max']);
    $height = max(ceil($width / 16 * 9), 200);
    $data = array('version' => '1.0', 'provider_name' => get_bloginfo('name'), 'provider_url' => get_home_url(), 'author_name' => get_bloginfo('name'), 'author_url' => get_home_url(), 'title' => $post->post_title, 'type' => 'link');
    $author = get_userdata($post->post_author);
    if ($author) {
        $data['author_name'] = $author->display_name;
        $data['author_url'] = get_author_posts_url($author->ID);
    }
    /**
     * Filter the oEmbed response data.
     *
     * @since 4.4.0
     *
     * @param array   $data   The response data.
     * @param WP_Post $post   The post object.
     * @param int     $width  The requested width.
     * @param int     $height The calculated height.
     */
    return apply_filters('oembed_response_data', $data, $post, $width, $height);
}