How to Execute a Function When a Plugin is Activated in WordPress

When developing a WordPress plugin, there are times when you need to execute a specific function when the plugin is activated. This is typically used for setting up default options or creating custom database tables required by the plugin.

register_activation_hook() function

In order to execute a function when a plugin is activated, you can use the register_activation_hook() function. This function is used to register a plugin activation hook that will execute a specified function when the plugin is activated.

Here is an example of how to use register_activation_hook() in your plugin code:

// Activation function
function wp_daily_activate() {
	// Your activation code here
// Register activation hook
register_activation_hook( __FILE__, 'wp_daily_activate' );

In this example, the register_activation_hook() function is used to register the wp_daily_activate() function as the activation hook for the plugin. When the plugin is activated, the wp_daily_activate() function will be executed.

It is important to note that the activation function should only be used for setting up initial settings or database tables. Any other functionality should be executed separately to prevent conflicts or issues with the plugin.

register_deactivation_hook() function

In addition to register_activation_hook(), there is also a register_deactivation_hook() function that can be used to execute a function when the plugin is deactivated. Here’s an example of using register_deactivation_hook to execute a function when a plugin is deactivated in WordPress:

// Register deactivation hook
register_deactivation_hook( __FILE__, 'wp_daily_deactivation_function' );

 * Function to execute when the plugin is deactivated
function wp_daily_deactivation_function() {
	// Do something here, such as remove custom database tables, options, or files

In this example, when the plugin is deactivated, the wp_daily_deactivation_function function will be executed. This function could be used to perform tasks such as removing custom database tables or options that were created by the plugin, or deleting any files that were created during the plugin’s use.

It’s important to note that register_deactivation_hook should only be used for deactivation-related tasks. If you need to perform tasks when the plugin is activated or updated, use the register_activation_hook or register_update_hook functions respectively.

Overall, using register_activation_hook() is a simple and effective way to execute a function when a plugin is activated. By taking advantage of this hook, you can ensure that your plugin is properly set up and ready to use when it is activated by a user.

Leave a Comment

Your email address will not be published. Required fields are marked *