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

Posted on December 29th, 2009 by in Tutorials | 23 Comments  
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

About

Editorial Staff at WPBeginner mainly Syed and David.

Post comment as twitter logo facebook logo
Sort: Newest | Oldest
stephane.falzon 5 pts

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

wpbeginner 50 pts moderator

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

stephane.falzon 5 pts

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

namaserajesh 6 pts

Nice tutorial thank a lot :)

Here is the tutorial for:

&lt;a href="http://su.pr/1hnZfM"&gt;Display Author’s Social Media Links on the Profile Page in Mystique 3.0&lt;/a&gt;, using child theme.

I recommended everyone for any modifications in theme create child theme, so after theme updating theme you will not loose any modifications.

erwin.pouli 5 pts

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

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

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

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

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

thegooch 5 pts

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

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

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?

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

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

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

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

Sure, more details added in the post.

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.

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

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

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

very cool. i'm using it.

Tweets about us: