wppaste
WordPress

WP_Embed

Since
2.9.0
Source
wp-includes/class-wp-embed.php:9
API for easily embedding rich media such as videos and images into content.

Compatibility

WordPress
since 2.9.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Hooks and filters fired · 7

Every hook that fires from inside WP_Embed, in the order it appears in the class, grouped by the method that fires it.

Properties · 7

$handlerspublic
$post_IDpublic
$usecachepublic
$linkifunknownpublic
$last_attrpublic
$last_urlpublic
$return_false_on_failboolpublic
When a URL cannot be embedded, return false instead of returning a link or the URL.

Methods · 13

Source code

#[AllowDynamicProperties]class WP_Embed {	public $handlers = array();	public $post_ID;	public $usecache      = true;	public $linkifunknown = true;	public $last_attr     = array();	public $last_url      = ''; 	/**	 * When a URL cannot be embedded, return false instead of returning a link	 * or the URL.	 *	 * Bypasses the {@see 'embed_maybe_make_link'} filter.	 *	 * @var bool	 */	public $return_false_on_fail = false; 	/**	 * Constructor	 */	public function __construct() {		// Hack to get the [embed] shortcode to run before wpautop().		add_filter( 'the_content', array( $this, 'run_shortcode' ), 8 );		add_filter( 'widget_text_content', array( $this, 'run_shortcode' ), 8 );		add_filter( 'widget_block_content', array( $this, 'run_shortcode' ), 8 ); 		// Shortcode placeholder for strip_shortcodes().		add_shortcode( 'embed', '__return_false' ); 		// Attempts to embed all URLs in a post.		add_filter( 'the_content', array( $this, 'autoembed' ), 8 );		add_filter( 'widget_text_content', array( $this, 'autoembed' ), 8 );		add_filter( 'widget_block_content', array( $this, 'autoembed' ), 8 ); 		// After a post is saved, cache oEmbed items via Ajax.		add_action( 'edit_form_advanced', array( $this, 'maybe_run_ajax_cache' ) );		add_action( 'edit_page_form', array( $this, 'maybe_run_ajax_cache' ) );	} 	/**	 * Processes the [embed] shortcode.	 *	 * Since the [embed] shortcode needs to be run earlier than other shortcodes,	 * this function removes all existing shortcodes, registers the [embed] shortcode,	 * calls do_shortcode(), and then re-registers the old shortcodes.	 *	 * @global array $shortcode_tags	 *	 * @param string $content Content to parse.	 * @return string Content with shortcode parsed.	 */	public function run_shortcode( $content ) {		global $shortcode_tags; 		// Back up current registered shortcodes and clear them all out.		$orig_shortcode_tags = $shortcode_tags;		remove_all_shortcodes(); 		add_shortcode( 'embed', array( $this, 'shortcode' ) ); 		// Do the shortcode (only the [embed] one is registered).		$content = do_shortcode( $content, true ); 		// Put the original shortcodes back.		$shortcode_tags = $orig_shortcode_tags; 		return $content;	} 	/**	 * If a post/page was saved, then output JavaScript to make	 * an Ajax request that will call WP_Embed::cache_oembed().	 */	public function maybe_run_ajax_cache() {		$post = get_post(); 		if ( ! $post || empty( $_GET['message'] ) ) {			return;

Changelog

Introduced in 2.9.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.7.7 tag, from src/wp-includes/class-wp-embed.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.