The plugin_loaded WordPress PHP action fires once a single activated plugin has loaded.
Usage
add_action('plugin_loaded', 'my_custom_plugin_loaded'); function my_custom_plugin_loaded($plugin) { // Your custom code here return $plugin; }
Parameters
$plugin
(string) – Full path to the plugin’s main file.
More information
See WordPress Developer Resources: plugin_loaded
Examples
Change plugin text domain
Load a different text domain for a plugin.
add_action('plugin_loaded', 'change_plugin_text_domain'); function change_plugin_text_domain($plugin) { if (strpos($plugin, 'example-plugin/example-plugin.php') !== false) { load_plugin_textdomain('new-text-domain', false, dirname($plugin) . '/languages/'); } }
Add a custom admin notice
Add a custom admin notice after a specific plugin is loaded.
add_action('plugin_loaded', 'my_custom_admin_notice'); function my_custom_admin_notice($plugin) { if (strpos($plugin, 'example-plugin/example-plugin.php') !== false) { add_action('admin_notices', 'my_admin_notice_function'); } } function my_admin_notice_function() { echo '<div class="notice notice-info is-dismissible"><p>' . __('My custom notice!', 'text-domain') . '</p></div>'; }
Load additional files for a plugin
Load extra files after a specific plugin is loaded.
add_action('plugin_loaded', 'load_additional_files'); function load_additional_files($plugin) { if (strpos($plugin, 'example-plugin/example-plugin.php') !== false) { require_once plugin_dir_path($plugin) . 'includes/extra-functions.php'; } }
Set a custom default option for a plugin
Set a custom default option value when a specific plugin is loaded.
add_action('plugin_loaded', 'set_custom_default_option'); function set_custom_default_option($plugin) { if (strpos($plugin, 'example-plugin/example-plugin.php') !== false) { if (get_option('custom_option_name') === false) { update_option('custom_option_name', 'default_value'); } } }
Add custom CSS for a plugin
Enqueue custom CSS styles for a specific plugin.
add_action('plugin_loaded', 'enqueue_custom_plugin_styles'); function enqueue_custom_plugin_styles($plugin) { if (strpos($plugin, 'example-plugin/example-plugin.php') !== false) { add_action('wp_enqueue_scripts', 'enqueue_my_custom_styles'); } } function enqueue_my_custom_styles() { wp_enqueue_style('custom-plugin-styles', plugins_url('/css/custom-plugin-styles.css', __FILE__)); }