This guest post was written by Jeffro of Jeffro2pt0. Jeffro is a WordPress enthusiast who writes a lot about WordPress and maintains a WordPress Weekly podcast. If you have WordPress knowledge and are interested in writing a guest post for Hack WordPress, please contact us.
Ever wanted that ability to show your bio information within your WordPress profile at the bottom of every post? For single user blogs, this might not be practical. But for multi-authored blogs, adding the bio info of each author at the bottom of their respective posts is a good way to give props to the author as well as providing information to the readers as to who that person is without having to refer to an about me page. The good news is that, you don’t need to install a plugin to have this functionality.

Inside of a user profile is this nifty little box where you can place information about yourself. As you can see, I have already placed some info into the box for reference later on in the tutorial. We are going to take the information in this box and display it at the bottom of every post that is under my name.
The template tag we are going to focus on is <?php the_author_description(); ?> This tag doesn’t accept any parameters, so don’t bother trying to do anything funky with this tag. Now, head to your templates Style sheet and add this to it:
.postauthor { }
This will give us the opportunity to style the postauthor bit when it’s published in the post. Now that we have the template tag in order, we will need to place it within the loop.
I’m not going to delve into the specifics of the loop, but in general, it deals with the information related to posts. Browse to your themes index.php file and look for something like this:
< ?php the_content('Read the rest of this entry »'); ?>
That is what it looks like in my theme, it may look different in yours, but this is the function that displays the content of the post. Underneath of this content function is where you would want to place the following code:
< div class="postauthor ">< ?php the_author_description(); ? >< /div>
Please keep in mind that if the code does not work, it is most likely due to the spaces which I had to add in order for the code to properly appear within this post. Simply remove the spaces, and the code should be just fine.
Now that you have the author description function in place, this is what it might look like on your blog:

If you ask me, this looks bland and boring. We need to fix that by editing the div class called Postauthor within the CSS file and give that Div class a nice look. You can style it to match your blog design, but for the sake of this tutorial, I’ll display the CSS code which makes it appear like the TAG div container shown below the Post Author.
.postauthor {
color: #222222;
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: normal;
background: #EAEAEA;
border-top: 2px solid #000000;
border-bottom: 1px solid #000000;
width: 640px;
padding: 3px;
margin-bottom:5px;
}
This CSS style code turns that small black text into something like this:

















Thanks. I was looking for something like this. Made it easy to understand as well.
This is great! I still need to build my about page first before I try this.
Is there any way to get line breaks into the author_description? WP seems to strip them out. Any help would be appreciated!!
Thanks,
Greg
Hello,
What should I do if I want to check to see if the author has a bio? If he does, then I want to echo his bio, if not, I want to not do anything. I asked this here (http://wordpress.org/support/topic/261475) but didn’t get any replies.
Thanks,
Carlos
there is a plugin for that function too
Link?
I tried using this code and now there is a string of code at the top of my blog:
eg_replace("/\s*(?:\*\/|\?>).*/", '', $str)); } ?> \/|\?>).*/", '', $str)); } ?>It is coming from the last function in functions.php:
/**
* Strip close comment and close php tags from file headers used by WP
* See http://core.trac.wordpress.org/ticket/8497
*
* @since 2.8
**/
function _cleanup_header_comment($str) {
return trim(preg_replace("/\s*(?:\*\/|\?>).*/", '', $str));
}
I have no idea why but I’d like to fix this. Please email me if you have any idea to solve this. Thanks.
Nice tip! I was looking for something like this. Thanks for the info!
I just added it to my blog along with “Rich Text Biography” plugin.
Thanks alot.
Seems like the_author_description is deprecated since version 2.8.0. This superceeded it:
the_author_meta(‘description’)
It’s not working for me
Put an overflow: hidden; on your .authorinfo [style.css-line 1951] to fix the overflow problem in standards copmliant browsers. cheers
It worked perfectly for me. Is there any way to add the author’s image?