Best for modifying data (e.g., adding a default role) before it hits the database. Runs after the user is created.
Inside presave , always call $user->isNew() to ensure your code only runs during initial registration rather than every time a profile is updated.
Use this for actions that require the new User ID, like sending a custom welcome email or creating related profile entries. Modifies the registration form .
Use this to add custom fields or validation logic (e.g., matching a secondary database). 💻 Code Example: hook_user_presave
To hook into the user registration process in Drupal 8 (and 9/10+), you typically use entity hooks since users are treated as content entities. 🛠️ Recommended Hooks
Drupal-8-user-register-hook -
Best for modifying data (e.g., adding a default role) before it hits the database. Runs after the user is created.
Inside presave , always call $user->isNew() to ensure your code only runs during initial registration rather than every time a profile is updated. drupal-8-user-register-hook
Use this for actions that require the new User ID, like sending a custom welcome email or creating related profile entries. Modifies the registration form . Best for modifying data (e
Use this to add custom fields or validation logic (e.g., matching a secondary database). 💻 Code Example: hook_user_presave Best for modifying data (e.g.
To hook into the user registration process in Drupal 8 (and 9/10+), you typically use entity hooks since users are treated as content entities. 🛠️ Recommended Hooks