Title: Hook for user-edit.php
Last modified: August 24, 2016

---

# Hook for user-edit.php

 *  [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/)
 * Hi, I would like to add a form above the form on the /user-edit.php page.
 * I have added add_action(‘edit_user_profile’, ‘send_welcome_email’); but this 
   places the code I have created within the form on the edit user page.
 * What hook do I need to use to get this code added just above the update user 
   form on this page
 * <form action= etc my form </form>
 * <form id=”your-profile” action=”<?php echo esc_url( etc
    </form>
 * Thanks

Viewing 15 replies - 1 through 15 (of 15 total)

 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171674)
 * You are welcome,
 * Not sure the exact one, here is a comprehensive list:
 * [http://codex.wordpress.org/Plugin_API/Action_Reference](http://codex.wordpress.org/Plugin_API/Action_Reference)
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171864)
 * I have now tried loads but not getting the code placed where I need it….
 * Does any one know what hook would put my code just before the form for Personal
   Options?
 * Thanks
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171870)
 * Here is a more relevant reference:
 * > [Home](https://developer.wordpress.org/)
 * Sometimes I find it helpful to think about hooks in terms of _when_ they occur,
   not _where_.
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171888)
 * tried all of those and still can not get my form to appear after the title on
   the page but before the edit user form.
 * Any suggestions?
 * Thanks
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171905)
 * Isn’t the whole page already one form? Are you sure you want to insert a second
   form within the form? Maybe you just want some additional fields within the existing
   form?? If so do they have to be at the top? Or would it be OK if they were at
   the bottom?
 * Sorry for all the questions. If that all makes sense, I think you were on the
   right track with `edit_user_profile`
 * [http://codex.wordpress.org/Plugin_API/Action_Reference/edit_user_profile](http://codex.wordpress.org/Plugin_API/Action_Reference/edit_user_profile)
   
   Example:
 *     ```
       /**
        * Show custom user profile fields
        * @param  obj $user The user object.
        * @return void
        */
       function numediaweb_custom_user_profile_fields($user) {
       ?>
       <table class="form-table">
       <tr>
       	<th>
       		<label for="tc_location"><?php _e('Location'); ?></label>
       	</th>
       	<td>
       		<input type="text" name="tc_location" id="tc_location" value="<?php echo esc_attr( get_the_author_meta( 'tc_location', $user->ID ) ); ?>" class="regular-text" />
       		<br><span class="description"><?php _e('Your location.', 'travelcat'); ?></span>
       	</td>
       </tr>
       <tr>
       	<th>
       		<label for="tc_favorites"><?php _e('Favorites', 'travelcat'); ?></label>
       	</th>
       	<td>
       		<input type="text" name="tc_favorites" id="tc_favorites" value="<?php echo esc_attr( get_the_author_meta( 'tc_favorites', $user->ID ) ); ?>" class="regular-text" />
       		<br><span class="description"><?php _e('Can you share a few of your favorite places to be or to stay?', 'travelcat'); ?></span>
       		<br><span class="description"><?php _e('Separate by commas.', 'travelcat'); ?></span>
       	</td>
       </tr>
       <tr>
       	<th>
       		<label for="tc_travel_map"><?php _e('Travel map', 'travelcat'); ?></label>
       	</th>
       	<td>
       		<input type="text" name="tc_travel_map" id="tc_travel_map" value="<?php echo esc_attr( get_the_author_meta( 'tc_travel_map', $user->ID ) ); ?>" class="regular-text" />
       		<br><span class="description"><?php _e('Been there / Going there within a year / Wish list.', 'travelcat'); ?></span>
       		<br><span class="description"><?php _e('Separate by commas.', 'travelcat'); ?></span>
       	</td>
       </tr>
       </table>
       <?php
       }
       add_action('show_user_profile', 'numediaweb_custom_user_profile_fields');
       add_action('edit_user_profile', 'numediaweb_custom_user_profile_fields');
       ```
   
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171912)
 * yes – that is the problem, the code I want to insert is another form on the edit
   page to generate an email….this is why I need to find some way of getting a hook
   to put my form before the user edit form on user-edit.php page….
 * Hope that make sense….
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171914)
 * Sorry, doesn’t really make much sense to me overall.
 * Maybe tell us more about the email content and who it goes to and when and why?
 * And why does its form have to be on the same page and inside the form already
   there which accomplishes readily its very specific purpose?
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171915)
 * It regenerates a Welcome email for that client you are editing….I can’t use a
   link as it needs to be “post” ed to generate the email
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171916)
 * So what are the fields you need to generate the email?
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171918)
 * login username, first name and last name should do it…..
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171920)
 * from the reference: [http://codex.wordpress.org/Function_Reference/wp_mail](http://codex.wordpress.org/Function_Reference/wp_mail)
 *     ```
       <?php wp_mail( $to, $subject, $message, $headers, $attachments ); ?>
       ```
   
 * It means to send email, you must have an email address, a subject line and a 
   message. The header and attachment are optional.
 * You are editing a user on that page already so the user’s email address is known
   programatically.
 * Where is the subject line and the message you intend to send? Let me guess, you
   want to fill them out in your new form right? So why don’t you just add two new
   custom user-meta fields at the bottom of the form using the edit_user_profile
   hook and the reference instructions above? If so, at this point you would have
   a place to fill in the subject and message.
 * Then you could use the wp_mail function and hook it to profile_update …
    (Runs
   when a user’s profile is updated. Action function argument: user ID.) The email
   would get sent when you save the user profile!
 * Do you see what’s happening? I think you need two functions and two hooks. The
   first pair to create the new form fields, the second pair to send the email.
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171921)
 * Sorry, I don’t thinkg I have explained very well…..I need to use this code to
   post a form to the “Welcome Email” plugin to generate the Welcome email directly
   from the Edit User page.
 * I have added it in manually but each WordPress update over writes it so I would
   like to know what hook to use to add it from the functions.php file so I don’t
   have to keep reading it after each update.
 * <form action=”[https://domainname.com/wp-admin/users.php?page=re-send-welcome-email/re-send-welcome-email.php&#8221](https://domainname.com/wp-admin/users.php?page=re-send-welcome-email/re-send-welcome-email.php&#8221);
   method=”POST”>
 * <h3>» Send welcome email for this user:
    <input type=”submit” class=”button-primary”
   value=”Send e-mail” /></h3> <input type=”hidden” name=’user-name’ id=’user-name’
   value=”<?php echo esc_attr($profileuser->user_login); ?>”> <input type=”hidden”
   name=’user’ id=’user’ value=”<?php echo esc_attr($profileuser->user_login); ?
   >”> <input type=”hidden” name=’first-name’ id=’first-name’ value=”<?php echo 
   esc_attr($profileuser->first_name) ?>”> <input type=”hidden” name=’last-name’
   id=’last-name’ value=”<?php echo esc_attr($profileuser->last_name) ?>”> </form
   > <hr>
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171922)
 * While viewing the user profile, you want to resend the exact same email that 
   got sent when the user was created?
 * If so, don’t get hung up on the form, **use a function**. Use the exact same 
   functions that sends the email in the first place.
 * And hook it to edit_user_profile (mail will be sent when you open the profile…
 * If you don’t want the mail sent until you click to update, hook it to profile_update…
 * The function you need very likely is wp_mail() … and you have to pass the proper
   parameters.
    from the reference: [http://codex.wordpress.org/Function_Reference/wp_mail](http://codex.wordpress.org/Function_Reference/wp_mail)
 *     ```
       <?php wp_mail( $to, $subject, $message, $headers, $attachments ); ?>
       ```
   
 *  Thread Starter [sprocker](https://wordpress.org/support/users/sprocker/)
 * (@sprocker)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171927)
 * I do not want it to be sent automatically….
 * My client adds the user details at differing times by different departments –
   only when they have entered all the info do they need something on the “update
   User” screen to generate an email to the new user.
 *  [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * (@santeven)
 * [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171928)
 * One more possibility is to put a single checkbox on that page and a corresponding
   condition in the emailing function. So the email only gets sent if the box is
   checked. Everything else I wrote still applies.

Viewing 15 replies - 1 through 15 (of 15 total)

The topic ‘Hook for user-edit.php’ is closed to new replies.

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 15 replies
 * 2 participants
 * Last reply from: [Martin Robbins](https://wordpress.org/support/users/santeven/)
 * Last activity: [10 years, 11 months ago](https://wordpress.org/support/topic/hook-for-user-editphp/#post-6171928)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
