好的,我在我的一个网站上有一个关于作者的页面,他们的最后一篇文章以及与他们联系的方式。
我有一些PHP来做。然而,我们有3位作者,它显示了4.它显示的第一个结果是第二和第三作者的组合。我想弄清楚如何只显示实际上真实的3位作者。
http://oi50.tinypic.com/mwfexj.jpg红色边界作者是不应该出现的作者。注意它有来自作者2和3的数据?
<?php
$authors = $wpdb->get_results('SELECT DISTINCT post_author FROM '.$wpdb->posts);
if($authors):
foreach($authors as $author):
?>
<div class='author' id='author-<?php the_author_meta('user_login', $author->post_author); ?>'>
<h3><?php the_author_meta('display_name', $author->post_author); ?></h3>
<?php if(get_the_author_meta('description', $author->post_author)): ?>
<div class='description'>
<?php echo get_avatar(get_the_author_meta('user_email', $author->post_author), 80); ?>
<p><?php the_author_meta('first_name', $author->post_author); ?> <?php the_author_meta('description', $author->post_author); ?></p>
</div>
<?php endif; ?>
<?php
$recentPost = new WP_Query('author='.$author->post_author.'&posts_per_page=1');
while($recentPost->have_posts()): $recentPost->the_post();
?>
<h4>Recent Post: <a href='<?php echo get_permalink();?>'><?php the_title(); ?></a></h4>
<?php endwhile; ?>
<?php if(get_the_author_meta('twitter', $author->post_author) || get_the_author_meta('facebook', $author->post_author) || get_the_author_meta('aim', $author->post_author) || get_the_author_meta('url', $author->post_author) || get_the_author_meta('sitename', $author->post_author)): ?>
<ul class='connect'>
<?php if(get_the_author_meta('url', $author->post_author)): ?>
<li><a href='<?php the_author_meta('url', $author->post_author); ?>' class="website"><?php the_author_meta('sitename', $author->post_author); ?></a></li>
<?php endif; ?>
<?php if(get_the_author_meta('aim', $author->post_author)): ?>
<li><a href='aim:goim?screenname=<?php the_author_meta('aim', $author->post_author); ?>' class="aim"><?php the_author_meta('aim', $author->post_author); ?></a></li>
<?php endif; ?>
<?php if(get_the_author_meta('twitter', $author->post_author)): ?>
<li><a href='http://twitter.com/<?php the_author_meta('twitter', $author->post_author); ?>' class="twitter">Twitter</a></li>
<?php endif; ?>
<?php if(get_the_author_meta('facebook', $author->post_author)): ?>
<li><a href='http://www.facebook.com/<?php the_author_meta('facebook', $author->post_author); ?>' class="facebook">Facebook</a></li>
<?php endif; ?>
</ul>
<?php endif; ?>
</div>
<?php endforeach; endif; ?>
答案 0 :(得分:0)
检查您的数据库,您可能有第四位作者,如果没有,请清空该表并添加新作者