The profile_personal_options WordPress action fires after the ‘Personal Options’ settings table on the ‘Profile’ editing screen, and only if the current user is editing their own profile.
Table of contents
Usage
add_action('profile_personal_options', 'your_custom_function_name');
function your_custom_function_name($profile_user) {
// Your custom code here
}
Parameters
$profile_user(WP_User) – The current WP_User object.
More information
See WordPress Developer Resources: profile_personal_options
Examples
Add a custom field to the personal options
This example adds a custom field for the user’s favorite color to the personal options section.
add_action('profile_personal_options', 'add_favorite_color_field');
function add_favorite_color_field($profile_user) {
$favorite_color = get_user_meta($profile_user->ID, 'favorite_color', true);
?>
<tr>
<th scope="row">Favorite Color</th>
<td>
<input type="text" name="favorite_color" id="favorite_color" value="<?php echo esc_attr($favorite_color); ?>" />
</td>
</tr>
<?php
}
Save custom field data
This example saves the custom field data when the profile is updated.
add_action('personal_options_update', 'save_favorite_color_field');
function save_favorite_color_field($user_id) {
if (current_user_can('edit_user', $user_id)) {
update_user_meta($user_id, 'favorite_color', sanitize_text_field($_POST['favorite_color']));
}
}
Add a custom message after the personal options
This example adds a custom message after the personal options section.
add_action('profile_personal_options', 'add_custom_message');
function add_custom_message($profile_user) {
echo '<p>Your custom message goes here.</p>';
}
Add custom CSS to style the personal options
This example adds custom CSS to style the personal options section.
add_action('admin_head-profile.php', 'add_custom_css');
function add_custom_css() {
echo '<style>
/* Your custom CSS here */
</style>';
}
Add a custom JavaScript to the personal options
This example adds custom JavaScript to the personal options section.
add_action('admin_footer-profile.php', 'add_custom_js');
function add_custom_js() {
echo '<script>
// Your custom JavaScript here
</script>';
}