The load_default_embeds WordPress PHP Filter allows you to control the loading of default embed handlers.
Usage
add_filter('load_default_embeds', 'my_custom_load_embeds');
function my_custom_load_embeds($maybe_load_embeds) {
// your custom code here
return $maybe_load_embeds;
}
Parameters
$maybe_load_embeds (bool)– Whether to load the embeds library. Default is true.
More information
See WordPress Developer Resources: load_default_embeds
Examples
Disable default embeds
Prevent loading the default embed handlers for a lightweight website.
add_filter('load_default_embeds', '__return_false');
Load default embeds only for logged-in users
This example allows loading default embed handlers only for logged-in users.
add_filter('load_default_embeds', 'load_embeds_for_logged_in_users');
function load_embeds_for_logged_in_users($maybe_load_embeds) {
return is_user_logged_in();
}
Load default embeds on specific pages
Load default embed handlers only on specific pages based on their page IDs.
add_filter('load_default_embeds', 'load_embeds_on_specific_pages');
function load_embeds_on_specific_pages($maybe_load_embeds) {
$allowed_pages = array(10, 25, 42); // Replace with your desired page IDs
return in_array(get_the_ID(), $allowed_pages);
}
Load default embeds for specific post types
Enable loading default embed handlers only for specific post types.
add_filter('load_default_embeds', 'load_embeds_for_specific_post_types');
function load_embeds_for_specific_post_types($maybe_load_embeds) {
$allowed_post_types = array('post', 'custom_post_type');
return in_array(get_post_type(), $allowed_post_types);
}
Load default embeds based on user roles
Allow loading default embed handlers only for users with specific roles.
add_filter('load_default_embeds', 'load_embeds_based_on_user_roles');
function load_embeds_based_on_user_roles($maybe_load_embeds) {
$allowed_roles = array('administrator', 'editor');
$user = wp_get_current_user();
return array_intersect($allowed_roles, $user->roles);
}
Load default embeds for specific categories
Enable loading default embed handlers only for posts in specific categories.
add_filter('load_default_embeds', 'load_embeds_for_specific_categories');
function load_embeds_for_specific_categories($maybe_load_embeds) {
$allowed_categories = array('technology', 'news');
$post_categories = wp_get_post_categories(get_the_ID(), array('fields' => 'names'));
return array_intersect($allowed_categories, $post_categories);
}
Load default embeds on custom post templates
Load default embed handlers only on custom post templates.
add_filter('load_default_embeds', 'load_embeds_on_custom_post_templates');
function load_embeds_on_custom_post_templates($maybe_load_embeds) {
$allowed_templates = array('template-custom.php', 'template-special.php');
$current_template = get_page_template_slug();
return in_array($current_template, $allowed_templates);
}
Load default embeds only on the homepage
Load default embed handlers only on the homepage.
add_filter('load_default_embeds', 'load_embeds_on_homepage');
function load_embeds_on_homepage($maybe_load_embeds) {
return is_front_page();
}
Load default embeds based on user meta
Enable loading default embed handlers only for users with a specific meta value.
add_filter('load_default_embeds', 'load_embeds_based_on_user_meta');
function load_embeds_based_on_user_meta($maybe_load_embeds) {
$user_id = get_current_user_id();
$embeds_allowed = get_user_meta($user_id, 'allow_embeds', true);
return $embeds_allowed == 'yes';
}
Load default embeds only for mobile devices
Load default embed handlers only when the website is viewed on a mobile device.
add_filter('load_default_embeds', 'load_embeds_on_mobile_devices');
function load_embeds_on_mobile_devices($maybe_load_embeds) {
$is_mobile = wp_is_mobile();
return $is_mobile;
}