preloader

Adding Custom Author Social Links to WordPress User Profiles

WordPress user profiles include only a basic Website URL field by default. Author box plugins add social link fields, but you can also add them with code. Here is both approaches.

The Problem with Default WordPress Profile Fields

The WordPress user profile has fields for: first name, last name, nickname, display name, email, website URL, biographical info, and password. There are no fields for LinkedIn, Twitter/X, Instagram, or other social profiles.

Author box plugins add custom social link fields to the user profile screen. These appear when editing a user profile in admin. The author box plugin then reads these fields and outputs the links in the author box display.

Using an Author Box Plugin for Social Links

Most author box plugins add social link fields automatically. Go to Users, then your profile (or any user’s profile as admin), and scroll down to find the social link fields the plugin added. Fill in the profile URLs — use full URLs including https://. Save the profile. The plugin reads and displays these in the author box on the front end.

Adding Custom Social Link Fields with Code

To add social link fields without an author box plugin, add this to your child theme functions.php:

// Add social link fields to user profile
function wpwizzy_add_social_fields( $user ) {
    $social_fields = array(
        'twitter'   => 'Twitter / X URL',
        'linkedin'  => 'LinkedIn URL',
        'instagram' => 'Instagram URL',
        'github'    => 'GitHub URL',
    );
    echo '<h3>Social Links</h3><table class="form-table">';
    foreach ( $social_fields as $key => $label ) {
        $value = get_user_meta( $user->ID, $key, true );
        printf(
            '<tr><th><label for="%1$s">%2$s</label></th>
             <td><input type="url" id="%1$s" name="%1$s" value="%3$s" class="regular-text"></td></tr>',
            esc_attr( $key ),
            esc_html( $label ),
            esc_url( $value )
        );
    }
    echo '</table>';
}
add_action( 'show_user_profile', 'wpwizzy_add_social_fields' );
add_action( 'edit_user_profile', 'wpwizzy_add_social_fields' );

// Save the social link fields
function wpwizzy_save_social_fields( $user_id ) {
    if ( ! current_user_can( 'edit_user', $user_id ) ) return;
    $social_fields = array( 'twitter', 'linkedin', 'instagram', 'github' );
    foreach ( $social_fields as $key ) {
        if ( isset( $_POST[ $key ] ) ) {
            update_user_meta( $user_id, $key, sanitize_url( $_POST[ $key ] ) );
        }
    }
}
add_action( 'personal_options_update', 'wpwizzy_save_social_fields' );
add_action( 'edit_user_profile_update', 'wpwizzy_save_social_fields' );

Displaying Social Links in Author Box Template

In your author box template or theme’s author bio section, retrieve and display the custom fields:

<?php
$author_id      = get_the_author_meta( 'ID' );
$social_links   = array(
    'twitter'   => array( 'label' => 'Twitter', 'icon' => 'X' ),
    'linkedin'  => array( 'label' => 'LinkedIn', 'icon' => 'in' ),
    'instagram' => array( 'label' => 'Instagram', 'icon' => 'Ig' ),
    'github'    => array( 'label' => 'GitHub', 'icon' => 'GH' ),
);

echo '<div class="author-social-links">';
foreach ( $social_links as $key => $data ) {
    $url = get_user_meta( $author_id, $key, true );
    if ( $url ) {
        printf(
            '<a href="%s" rel="noopener noreferrer" target="_blank" aria-label="%s">%s</a>',
            esc_url( $url ),
            esc_attr( $data['label'] ),
            esc_html( $data['icon'] )
        );
    }
}
echo '</div>';
?>

Using Social Links in Person Schema

For E-E-A-T purposes, include the social profile URLs in the Person schema for the author. Add the sameAs property to your author schema pointing to the author’s verified external profiles — LinkedIn in particular is a strong credibility signal for professional expertise.

For complete author profile systems including custom fields, social integration, and schema markup for multi-author editorial sites, a WordPress developer can build a full author management system.

Keep Reading

Previous Post Setting Up Author Profiles for E-E-A-T: What Google Actually Looks For Next Post WordPress User Profiles: Building a Complete Profile System

Need Help With Your WordPress Site?

If you need help with WordPress fixes, plugin issues, theme customization, or development work, feel free to get in touch.

Get a Free Estimate