我想在一个A-Z列表中显示一个帖子列表,并带有一个跳转到字母标题的导航。
导航应显示所有字符和数字。如果没有字符的帖子,该字符应处于非活动状态/没有链接。
如果将数字组合到一个称为0-9的链接中也会很好。
例如,像这样(C和E没有帖子):
0-9|阿|B|C|D|E级|操|……
我现在使用以下代码:
<?php
$args = array(
'post_type' => array( 'post_type' ),
'post_parent' => 0,
'orderby' => 'name',
'order' => 'ASC',
);
// The Query
$query_post_type = new WP_Query( $args );
?>
<?php if ( $query_post_type->have_posts() ) : ?>
<ul>
<?php $letter = ''; while ( $query_post_type->have_posts() ) : $query_post_type->the_post(); ?>
<?php
if($letter != strtoupper(get_the_title()[0])) :
echo ($letter != '') ? '' : '';
$letter = strtoupper(get_the_title()[0]);
echo '<li class="list-inline-item"><a href="#'.strtoupper(get_the_title()[0]).'">'.strtoupper(get_the_title()[0]).'</a></li>';
endif;
?>
<?php endwhile; ?>
</ul>
<div>
<?php $letter = ''; while ( $query_post_type->have_posts() ) : $query_post_type->the_post(); ?>
<?php
if($letter != strtoupper(get_the_title()[0])) :
echo ($letter != '') ? '</ul></div>' : '';
$letter = strtoupper(get_the_title()[0]);
echo '<div><ul class="list-unstyled"><p class="h4"><a name="'.strtoupper(get_the_title()[0]).'"></a>'.strtoupper(get_the_title()[0]).'</p>';
endif;
?>
<div>
<strong class="title">
<a href="<?php the_permalink(); ?>" class="" alt="<?php echo get_the_title(); ?>"><?php the_title(); ?></a>
</strong>
<?php the_field('post_type_excerpt'); ?>
</div>
<?php endwhile; ?>
</div>
<?php else : ?>
<?php endif; wp_reset_postdata(); ?>
它可以很好地获取所有帖子并在它们之前添加一个字母标题。
导航也可以很好地处理每个字符,但是我找不到一个解决方案来添加整个字母表和组合0-9的数字。
1条答案
按热度按时间ahy6op9u1#
我发现了一个解决方案,它可以显示带有导航的词汇表。
导航显示每个字符和从0到9的所有数字的组合链接。