如何正确调用Wordpress中的元函数

时间:2012-08-22 17:41:25

标签: php wordpress function call meta

我正在为我的Wordpress网站开发一个作者徽章,我正在学习如何调用元函数(需要在The Loop中)。我调用的元函数是作者生物相关的,如用户名,姓氏等

这是一个代码示例:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    About <?php the_author(); ?>, the author of this blog
    <?php userphoto_the_author_thumbnail() ?>
    <?php get_the_author_meta( 'description' ); ?>

<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

我将此示例添加到我的author.php文件中并且它有效,但它多次显示相同的内容(因此循环)。如果我想在Wordpress中调用元函数而不让它们像这样多次回显,我该怎么做?

我确信我做错了,并且有正确的方法来实现它。

如果您选择回复,请详细说明,因为我对PHP编码的了解是我从今天了解到的回声

1 个答案:

答案 0 :(得分:1)

由于您已将此添加到author.php文件中,因此所有帖子都将由一位作者发布。所以我猜你只想显示一次这个内容。

像这样更改你的代码就可以了:

<?php $show_author_data = TRUE;?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

<?php if(!$show_author_data){ ?>
  About <?php the_author(); ?>, the author of this blog
  <?php userphoto_the_author_thumbnail() ?>
  <?php get_the_author_meta( 'description' ); ?>
<?php $show_author_data = FALSE; } ?>

<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

这仅为第一遍设置$show_author_data标志。