UsersWP Hooks Overview
November 28, 2024 · AI Conversations
—
### **Actions**
Actions allow you to execute custom code at specific points in UsersWP's execution.
#### Example Actions:
1. **`userswp_register_form`**
– Fires before the registration form is displayed.
add_action('userswp_register_form', function () {
echo '<p>Custom message before the registration form.</p>';
});
2. **`userswp_after_user_register`**
– Fires after a user is successfully registered.
add_action('userswp_after_user_register', function ($user_id, $userdata) {
// Perform actions after user registration
error_log("New user registered: ID $user_id");
}, 10, 2);
3. **`userswp_profile_updated`**
– Fires after a user profile is updated.
add_action('userswp_profile_updated', function ($user_id) {
error_log("User profile updated: ID $user_id");
});
—
### **Filters**
Filters allow you to modify or replace data before it's used or displayed.
#### Example Filters:
1. **`userswp_register_fields`**
– Modify the fields displayed on the registration form.
add_filter('userswp_register_fields', function ($fields) {
$fields['custom_field'] = [
'type' => 'text',
'label' => 'Custom Field',
'required' => true,
];
return $fields;
});
2. **`userswp_user_login_redirect_url`**
– Customize the URL users are redirected to after login.
add_filter('userswp_user_login_redirect_url', function ($redirect_url, $user_id) {
return '/custom-dashboard'; // Redirect to a custom dashboard page
}, 10, 2);
3. **`userswp_user_meta`**
– Modify user metadata fetched by UsersWP.
add_filter('userswp_user_meta', function ($meta, $user_id) {
$meta['custom_meta'] = get_user_meta($user_id, 'custom_meta', true);
return $meta;
}, 10, 2);
—
### **Hook Examples in Context**
Here’s an example of using both actions and filters together:
// Add a custom welcome email after user registration
add_action('userswp_after_user_register', function ($user_id, $userdata) {
wp_mail(
$userdata['email'],
'Welcome to Our Site!',
'Thank you for registering. Enjoy your stay!'
);
}, 10, 2);
// Modify the login redirect URL based on user role
add_filter('userswp_user_login_redirect_url', function ($redirect_url, $user_id) {
$user = get_userdata($user_id);
if (in_array('administrator', $user->roles)) {
return admin_url(); // Redirect admins to the dashboard
}
return home_url(); // Redirect other users to the homepage
}, 10, 2);
—
### Where to Add These Hooks
You can add these hooks to:
– A custom plugin (recommended for scalability).
– Your theme's `functions.php` file.
– A child theme's `functions.php` file.
If you need more specific hooks, refer to the UsersWP documentation or its source code to find additional options. Let me know if you want help with specific customizations!