Title: pre_oembed_result
Published: August 16, 2016
Last modified: August 20, 2026

---

# apply_filters( ‘pre_oembed_result’, null|string $result, string $url, string|array $args )

## In this article

 * [Description](https://developer.wordpress.org/reference/hooks/pre_oembed_result/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/hooks/pre_oembed_result/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/hooks/pre_oembed_result/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/hooks/pre_oembed_result/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/hooks/pre_oembed_result/?output_format=md#changelog)

Filters the oEmbed result before any HTTP requests are made.

## 󠀁[Description](https://developer.wordpress.org/reference/hooks/pre_oembed_result/?output_format=md#description)󠁿

This allows one to short-circuit the default logic, perhaps by replacing it with
a routine that is more optimal for your setup.

Returning a non-null value from the filter will effectively short-circuit retrieval
and return the passed value instead.

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

 `$result`null|string

The UNSANITIZED (and potentially unsafe) HTML that should be used to embed.
 Default
null to continue retrieving the result.

`$url`string

The URL to the content that should be attempted to be embedded.

`$args`string|array

Additional arguments for retrieving embed HTML.
 See [wp_oembed_get()](https://developer.wordpress.org/reference/functions/wp_oembed_get/)
for accepted arguments. Default empty.

More Arguments from wp_oembed_get( … $args )

Additional arguments for retrieving embed HTML.

 * `width` int|string
 * Optional. The `maxwidth` value passed to the provider URL.
 * `height` int|string
 * Optional. The `maxheight` value passed to the provider URL.
 * `discover` bool
 * Optional. Determines whether to attempt to discover link tags at the given URL
   for an oEmbed provider when the provider URL is not found in the built-in providers
   list. Default true.

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

    ```php
    $pre = apply_filters( 'pre_oembed_result', null, $url, $args );
    ```

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

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

| Used by | Description | 
| [WP_oEmbed::get_html()](https://developer.wordpress.org/reference/classes/wp_oembed/get_html/)`wp-includes/class-wp-oembed.php` |

The do-it-all function that takes a URL and attempts to return the HTML.

  |

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

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

## User Contributed Notes

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