Drupal-8-user-register-hook
This is the standard approach to identify a vs. an existing user being updated.
Use this to add custom fields or validation logic (e.g., matching a secondary database). 💻 Code Example: hook_user_presave drupal-8-user-register-hook
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 This is the standard approach to identify a vs
Best for modifying data (e.g., adding a default role) before it hits the database. Runs after the user is created. 💻 Code Example: hook_user_presave To hook into the
For cleaner, decoupled code, consider Symfony Event Subscribers if you are using the Hook Event Dispatcher module.
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 .
Inside presave , always call $user->isNew() to ensure your code only runs during initial registration rather than every time a profile is updated.