The post_embed_url WordPress PHP filter modifies the URL used to embed a specific post.
Usage
add_filter('post_embed_url', 'your_custom_function', 10, 2); function your_custom_function($embed_url, $post) { // your custom code here return $embed_url; }
Parameters
$embed_url
: string – The original post embed URL.$post
: WP_Post – The corresponding post object.
More information
See WordPress Developer Resources: post_embed_url
Examples
Change embed URL domain
Change the domain for the embed URL to a custom domain.
add_filter('post_embed_url', 'change_embed_url_domain', 10, 2); function change_embed_url_domain($embed_url, $post) { $parsed_url = parse_url($embed_url); $custom_domain = 'https://embed.example.com'; $new_embed_url = $custom_domain . $parsed_url['path']; return $new_embed_url; }
Add custom query parameter to embed URL
Add a custom query parameter to the embed URL.
add_filter('post_embed_url', 'add_custom_query_param', 10, 2); function add_custom_query_param($embed_url, $post) { $new_embed_url = add_query_arg('custom_param', 'value', $embed_url); return $new_embed_url; }
Remove specific query parameters from embed URL
Remove specific query parameters from the embed URL.
add_filter('post_embed_url', 'remove_query_params', 10, 2); function remove_query_params($embed_url, $post) { $new_embed_url = remove_query_arg(array('param1', 'param2'), $embed_url); return $new_embed_url; }
Use post slug in embed URL instead of ID
Replace the post ID in the embed URL with the post slug.
add_filter('post_embed_url', 'use_post_slug_in_embed_url', 10, 2); function use_post_slug_in_embed_url($embed_url, $post) { $new_embed_url = str_replace($post->ID, $post->post_name, $embed_url); return $new_embed_url; }
Disable embed URL for specific post types
Disable the embed URL for a specific post type, returning an empty string.
add_filter('post_embed_url', 'disable_embed_url_for_post_type', 10, 2); function disable_embed_url_for_post_type($embed_url, $post) { if ($post->post_type === 'custom_post_type') { return ''; } return $embed_url; }