-1

我正在为我的 Wordpress 网站开发作者徽章,并且正在学习如何调用元函数(需要在循环中)。我调用的元函数与作者生物相关,如用户名、姓氏等

这是一个代码示例:

<?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 编码的了解已经达到了我今天了解什么是 echo 的程度。

4

1 回答 1

1

Since you've added this to your author.php file, all of the posts will be by one author. So I'm guessing you want to display this content only once.

Changing your code like this will do it:

<?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; ?>

This sets a $show_author_data flag for the first pass only.

于 2012-08-22T18:10:05.943 回答