WP - 按自定义字段创建嵌套列表
WP - Create a nested list by custom field
现在我有一个作者列表,名字旁边有 post 头衔:
即。 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 中那样列出自己。
我的代码需要更改什么?
可能
<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>
现在我有一个作者列表,名字旁边有 post 头衔:
即。 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 中那样列出自己。
我的代码需要更改什么?
可能
<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>