现在我有一个作者名单,他们的帖子标题旁边是名字:
即。 1 - 现在它看起来像这样(注意B名称列出两次)
名称 - 标题1
B名称 - 标题1
B名称 - 标题2
C名称 - 标题1
(代码看起来像这样)
<?php
$posts = get_posts(array(
'posts_per_page' => -1,
'post_type' => 'post',
'order' => 'ASC',
'orderby' => 'author-last',
'meta_key' => 'author-last'
));
if( $posts ): ?>
<ul>
<?php foreach( $posts as $post ): setup_postdata( $post ) ?>
<div>
<?php echo get_post_meta($post->ID, 'author-last', true);?>
<?php the_title(); ?>
</div>
<?php endforeach; ?>
</ul>
<?php wp_reset_postdata(); ?>
<?php endif; ?>
即。 2 - 但我需要这个列表显示如下....
姓名
标题1
B名称
标题1
标题2
C名
标题1
所以我通常希望有一个嵌套的列表而不重复这个名字。因此,如果多个标题由同一作者编写,则会像示例2一样列出自己。
我需要在代码中更改哪些内容?
答案 0 :(得分:0)
也许
<ul>
<?php
foreach( $posts as $post ): setup_postdata( $post ) ?>
<li>
<div>
<?php
static $curr_auth_name = '';
if ($curr_auth_name != get_post_meta($post->ID, 'author-last', true)) {
$curr_auth_name = get_post_meta($post->ID, 'author-last', true);
echo $curr_auth_name;
}
echo the_title();
?>
</div>
</li>
<?php endforeach; ?>
</ul>