Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

How to Display Author’s Twitter and Facebook on the Profile Page

Last updated on by
Follow WPBeginner on YouTube
How to Display Author’s Twitter and Facebook on the Profile Page

By default WordPress allow to display author’s website, email, and a few other useless IM contacts, but it is missing important social media networks like Facebook, and Twitter. In this tutorial, we will show you how you can add author’s twitter, facebook, linkedin, or any other contact info on the profile page.

First thing you need to do is open your functions.php in your template folder and add the following codes:

<?php
function my_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';


 
return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);
?>

You can follow the methods and add any other field that you want. Once you add this function, user profile page in the admin panel will look like this:

Extend User Contact Info

Add the information there. Now you will need to display it in your template through author.php file. You should check out our tutorial on How to Add an Author Profile Page in WordPress and for further documentation also look at WordPress Codex page for Author Templating.

All you have to do is paste the following code in your template file:

<?php echo $curauth->twitter; ?>

You can change the name of the field to what you like. This way you can display it in your author.php file. You may modify it to your liking. For example use this as links and so on.

For example, if your value is simply “wpbeginner” in that field. Then you can paste this code in your author.php

<a href="http://twitter.com/<?php echo $curauth->twitter; ?>" target="_blank"><?php echo $curauth->twitter; ?></a>

If you have any questions feel free to write it in the comments, and we will answer them.

Note: This tutorial will work in WP 2.9+ thanks to Joost De Valk


Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »
  • Abdelrahman Helmi

    How to make it visual icons??

  • Iftekhar

    // Retrieve a custom field value
    $twitterHandle = get_the_author_meta(‘twitter’);

    I think this is much better code to retrieve custom field value.

  • Vito

    I would like to apply this to the page of the publication of the post, and insert text tags for each post. similar to the custom fields but with this style is that possible?

    Thanks

  • Aamir

    i am trying to include author google plus profile link in the template..
    i have successfully added custum field to add google plus link in user profile of evry author but not able to include in the template …
    i am using headway v3 ..
    as its not posiible to edit files like author.php in headway i tried inserting the code directly in postpages by creating a Custum Code block but GooglePLus; ?> does not work…
    please help..

    • http://www.wpbeginner.com Editorial Staff

      Ask them about the related hooks that you can use to make it happen.

  • stephane.falzon

    I try but it did not work and now it’s good. I do not understand why, but thx.

  • wpbeginner

    @stephane.falzon You can just add another line that says:$contactmethods[‘skype’] = ‘Skype';

  • stephane.falzon

    Hi, first of all really thanx for your help!

    Secondly, I try to add more field like ‘skype ID’ but I can’t add another.

    I had to change one of the two field.

    How I can do?

    Thx

  • erwin.pouli

    I add custom user field with this code:

    function my_custom_userfields( $contactmethods ) {

    $contactmethods[‘keyword_usr’] = ‘Keyword';

    return $contactmethods;

    }

    add_filter(‘user_contactmethods’,’my_custom_userfields’,10,1);

    BUT it save the record with stripped html tag! how can i remove a strip tag filter?

    i want save record allow html code.

    For description profile i finded this code:

    remove_filter(‘pre_user_description’, ‘wp_filter_kses’);

    but for a new custom user field as ‘Keyword’, how can i solved?

    thx and congrat for your blog!

    Trau

  • thegooch

    What is the plugin’s name? I’d like to use it

  • Shannon

    Here is the code I used to properly retrieve and post the authors Twitter account:

    I was having difficulty with the other method used in the post…ie, nothing was returned…the bit of code I included above did the trick.

    NOTE: I simply list the twitter account as “@WHATEVERYOURTWITTERNAMEIS” in the user/author setup page in WP…and then I incorporated the Twitter @anywhere hovercard to get an awesome effect. I use it in all of my Author Bio boxes for each post.

    • Shannon

      seems it filtered out the code:

      echo the_author_meta(‘twitter’);

      remember, this code needs to be enclosed in:

      just remove the spaces between .

      I don’t know how to post the code properly…

  • http://www.grillingwithrich.com richard

    where in the theme function page should i place this code??

  • http://www.playblogger.org anika

    You can use plugin. why do you code by useself?

    • http://giganizm.com Jacky Liang

      There’s a Reason why you shouldn’t use Plugins.

      1. Vulnerabilities
      2. Incompatibility
      3. Slows your Blog Down

  • http://nspeaks.com Navjot Singh

    To display the output of any field, better option is to use the_author_meta(‘twitter’)

  • http://www.FocusedBusinessAction.com Scott Lewis

    I added the code that you suggest at the end of my functions.php and it added the 2 lines into my profile. The only thing is that every time I update anything, I get the white page of death. If I go back to the previous page, the update was successful. It just won’t bring me directly back to the page I just updated. I had to take out the code because it was too much of a PITA.

    Any ideas what I did?

    • http://www.wpbeginner.com Editorial Staff

      Post your functions.php in the comment. That is the only way we could provide solution to this problem.

  • rayne

    How do I add a dropdown instead of a text field?

    • http://www.wpbeginner.com Editorial Staff

      For that you would have to write a mini-plugin calling the function and telling it to add the dropdown box.

  • http://wwww.wppanda.com Enk.

    A little more in details, how can we get it working like we only write ‘wpbeginner’ in fields and it links automatically ?

    • http://www.wpbeginner.com Editorial Staff

      Sure, more details added in the post.

  • Luke

    Thank you for this.

    Stupid question: What’s the code if you want to show only the info that’s displayed in user profile.

    For example, when I add these in the user profile and don’t enter data, it still shows the icon.

    • http://www.wpbeginner.com Editorial Staff

      You have to use a if then statement for that specific field in the database.

      • Nicole

        Could you elaborate on how to write the if then statement for this?

        • http://www.wpbeginner.com Editorial Staff

          If / Then statement are basics of PHP. This tutorial was added for developers. We would recommend looking at the PHP Tutorials site.

  • http://human3rror.com John (Human3rror)

    very cool. i’m using it.