我正在为我的网站制作一个自定义博客卷,但是在我的生活中无法弄清楚如何打印出作者。以下是我到目前为止的情况:
<div id="blog_roll">
<?
$args = array('tag__not_in' => '5');
$posts = get_posts($args);
foreach($posts as $post) {
?>
<div class="waterfall">
<div id="waterfall_thumb">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(); ?>
</a>
</div>
<div id="waterfall_title">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</div>
<div id="waterfall_author">
by:<?php the_author();?>on <?php the_time( get_option( 'date_format' ) ); ?>
</div>
<div id="waterfall_exc">
<?php echo apply_filters( 'the_content', $post->post_excerpt ); ?></div>
</div>
<? } ?>
非常感谢任何帮助!
答案 0 :(得分:0)
the_author()
功能仅适用于The Loop™。要在循环外获取作者的详细信息,您可以从$post
对象中获取作者的ID,并将其与the_author_meta()
函数一起使用:
… by: <?php the_author_meta('display_name', $post->post_author); ?> …
有关其他可用字段,请参阅function reference in the WordPress Codex。
顺便说一下,the_permalink
也只能在循环内部工作。你需要使用
<?php echo get_permalink($post->ID); ?>
答案 1 :(得分:0)
我在我的wordpress博客上使用它
$user_url = get_the_author_meta('user_url', $post->post_author);
$user_name = get_the_author_meta('user_nicename', $post->post_author);
echo '<a href="' . $user_url . '" rel="author">' . ' by ' . $user_name . '</a>';
正如其他用户所提到的,the_author仅在循环内可用,因此您需要使用the_author_metadata(http://codex.wordpress.org/Function_Reference/the_author_meta)