tags:

views:

9

answers:

1

I have the following code to show the gravatar of a post author, but how do I like it to the author profile of that user?

<a title="View posts by ###" href="###"><?php echo get_avatar( $email, $size = '64' ); ?></a>

EDIT This is my index.php file

 <?PHP

  get_header();

 ?>


 <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.masonry.js"></script>
 <script type="text/javascript">
  jQuery(document).ready(function(){
   $('#post-list').masonry({ singleMode: true, itemSelector: 'article', animate: false });
  });
 </script>

 <?php

  function MyLoopCode()
  {
 ?>

 <article id="post-<?php the_ID(); ?>">

  <div class="post-image"></div>

  <div class="post-text">

  <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>

  <p class="p-cat">In: <?php the_category('|') ?></p>

  <p class="p-author">
   <span class="name"><?php the_author_posts_link(); ?></span>
   <span class="avatar"><a title="View posts by <?php the_author(); ?>" href="<?php echo get_author_posts_url($authordata->ID); ?>"><?php echo get_avatar( $email, $size = '64' ); ?></a>
   </span>
  </p>


  <small class="p-time">
  <strong class="day"><?php the_time('j') ?></strong>
  <strong class="month"><?php the_time('M') ?></strong>
  <strong class="year"><?php the_time('Y') ?></strong>
  </small>

  <section class="content">
   <?php the_content('<p>Read the rest of this page &raquo;</p>'); ?>
  </section>

  <div class="p-det">
   <p class="p-det-com"><?php comments_popup_link('No Comments', '(1) Comment', '(%) Comments'); ?></p>
   <?php if (function_exists('the_tags')) { ?> <?php the_tags('<p class="p-det-tag">Tags: ', ', ', '</p>'); ?> <?php } ?>
  </div>

  </div>

 </article>

 <?php } ?>



   <div id="maincontent" class="clearfix">

    <div class="leftcontent">

     <section id="post-list" class="post-list">

     <?php //query_posts('orderby=rand'); ?>

     <?php query_posts('posts_per_page=1&author=2'); if (have_posts()) : while (have_posts()) : the_post(); ?>

      <?php echo MyLoopCode(); ?>

     <?php endwhile; endif; ?>

     <?php rewind_posts(); ?>

     <?php query_posts('posts_per_page=1&author=3'); if (have_posts()) : while (have_posts()) : the_post(); ?>

      <?php echo MyLoopCode(); ?>

     <?php endwhile; endif; ?>

     <?php rewind_posts(); ?>

     <?php query_posts('posts_per_page=1&author=4'); if (have_posts()) : while (have_posts()) : the_post(); ?>

      <?php echo MyLoopCode(); ?>

     <?php endwhile; endif; ?>

     <article>

      <p>ADVERTISEMENT</p>

     </article>

     <?php rewind_posts(); ?>

     <?php query_posts('posts_per_page=1&author=5'); if (have_posts()) : while (have_posts()) : the_post(); ?>

      <?php echo MyLoopCode(); ?>

     <?php endwhile; endif; ?>

     <?php rewind_posts(); ?>

     <?php query_posts('posts_per_page=1&author=6'); if (have_posts()) : while (have_posts()) : the_post(); ?>

      <?php echo MyLoopCode(); ?>

     <?php endwhile; endif; ?>

     </section>

    </div>
    <!-- END div.leftcontent -->

    <?php get_sidebar(); ?>

   </div>
   <!-- END div#maincontent -->



 <?PHP

  get_footer();

 ?>
+1  A: 

Use the get_author_posts_url() template tag to output the URL to the list of posts by a given author (which uses the author.php page template). You'll need to pass the author's user ID as the first parameter; I'll assume the user object is $authordata:

<a title="View posts by <?php the_author(); ?> href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"><?php echo get_avatar( $email, $size = '64' ); ?></a>
BoltClock
How do I pass the users author ID to that link?
Cameron
@Cameron: are you currently obtaining `$email` by retrieving a post author from your database?
BoltClock
No idea, I just have the line of code within the loop.
Cameron
@Cameron: hmmm, could I see some of your loop code?
BoltClock
Edited my answer to show my entire index.php file.
Cameron
I think that looks fine. I can't remember if WordPress already gives you access to `$authordata` though. Could you try to run your theme code and let me know if your link is pointing to the correct page?
BoltClock
No it just links to the blog root
Cameron
Edited my answer, could you try my updated code?
BoltClock
Brilliant. That works great. Thanks a lot.
Cameron
You're welcome!
BoltClock