Bem, entretanto já fiz alguns progressos, mas...
- Ainda não resolvi o problema de mostrar só um perfil, agora aparecem-me dois mas não sei qual é a condicionante para não aparecerem os outros.
- Já consigo mostrar os últimos tópicos na página do perfil, mas só mostra um tópico, se o autor tiver mais, não mostra.
EDIT: Num dos únicos dois perfis mostra os tópicos todos no outro mostra só um.
O que tenho no author.php é isto:
<?php
/**
* The template for displaying Author Archive pages.
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php
/* Queue the first post, that way we know who
* the author is when we try to get their name,
* URL, description, avatar, etc.
*
* We reset this later so we can run the loop
* properly with a call to rewind_posts().
*/
if ( have_posts() )
the_post();
?>
<h1 class="page-title author"><?php printf( __( '%s', 'twentyten' ), "<span class='vcard'><a class='url fn n' href='" . get_author_posts_url( get_the_author_meta( 'ID' ) ) . "' title='" . esc_attr( get_the_author() ) . "' rel='me'>" . get_the_author() . "</a></span>" ); ?></h1>
<?php
// If a user has filled out their description, show a bio on their entries.
if ( get_the_author_meta( 'description' ) ) : ?>
<div id="entry-author-info">
<div id="author-avatar">
<?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 100 ) ); ?>
</div><!-- #author-avatar -->
<br>
<p>Nome: <b><?php the_author_meta( 'user_firstname' ); ?> <?php the_author_meta( 'user_lastname' ); ?></b></p>
<p>Twitter: <?php the_author_meta('Twitter'); ?></p>
<br>
<p>Data de registo: <?php the_author_meta( 'user_registered' ); ?></p>
<p><?php the_author(); ?> has blogged <?php the_author_posts(); ?> posts</p>
<p>Other posts by <?php the_author_posts_link(); ?></p>
<br>
<div>
<div id="author-description">
<h2><?php printf( __( 'Sobre %s', 'twentyten' ), get_the_author() ); ?></h2>
<?php the_author_meta( 'description' ); ?>
</div><!-- #author-description -->
</div><!-- #entry-author-info -->
<br>
<h1>Artigos do Autor</h1>
<br>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<h2 id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<small><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></small>
</div>
<?php endwhile; ?>
<div class="navigation">
<div class="alignleft">
<?php posts_nav_link('','','« Previous Entries') ?>
</div>
<div class="alignright">
<?php posts_nav_link('','Next Entries »','') ?>
</div>
</div>
<?php else : ?>
<h2 class="center">Sem artigos</h2>
<p class="center"><?php _e("Este utilizador ainda não possui artigos."); ?></p>
<?php endif; ?>
<?php endif; ?>
<?php
/* Since we called the_post() above, we need to
* rewind the loop back to the beginning that way
* we can run the loop properly, in full.
*/
rewind_posts();
/* Run the loop for the author archive page to output the authors posts
* If you want to overload this in a child theme then include a file
* called loop-author.php and that will be used instead.
*/
get_template_part( 'loop', 'author' );
?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Obrigado
Roberto Francisco