Using WordPress ‘profile_personal_options’ PHP action

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>';
}

Leave a Comment

Your email address will not be published. Required fields are marked *