WordPress Version: 6.1
/**
* Retrieves the URL to embed a specific post in an iframe.
*
* @since 4.4.0
*
* @param int|WP_Post $post Optional. Post ID or object. Defaults to the current post.
* @return string|false The post embed URL on success, false if the post doesn't exist.
*/
function get_post_embed_url($post = null)
{
$post = get_post($post);
if (!$post) {
return false;
}
$embed_url = trailingslashit(get_permalink($post)) . user_trailingslashit('embed');
$path_conflict = get_page_by_path(str_replace(home_url(), '', $embed_url), OBJECT, get_post_types(array('public' => true)));
if (!get_option('permalink_structure') || $path_conflict) {
$embed_url = add_query_arg(array('embed' => 'true'), get_permalink($post));
}
/**
* Filters the URL to embed a specific post.
*
* @since 4.4.0
*
* @param string $embed_url The post embed URL.
* @param WP_Post $post The corresponding post object.
*/
return sanitize_url(apply_filters('post_embed_url', $embed_url, $post));
}