用語集を作りたいのですが。次のようになります。
インデックスナビ
0〜9 | ABC ...M... X Y Z
BBMW
M
メルセデス
...
index-nav(A-Z、O-9)からのALLエントリは<ul>
に表示され、コンテンツアンカーにリンクされるべきです(コンテンツが空でない場合のみ)。内容のないエントリは追加のCSSクラスを取得するはずです。
私のコード(@Mridul Aggarwalのおかげで)も、コンテンツがあるときにはindex-navのエントリだけを表示します。
すみません、私は英語のネイティブスピーカーではありません。
<?php
$index = 0;
$terms = get_terms('marke');
$range = array_merge(range(0, 9), range('A', 'Z'));
echo '<ul>';
foreach ($terms as $term) {
if(ord($range[$index]) <= ord(strtoupper(substr($term->name, 0, 1)))) {
while($range[$index] != strtoupper(substr($term->name, 0, 1))) {
echo '<li>'. $range[$index] . '</li>';
$index++;
}
$index = strtoupper(substr($term->name, 0, 1));
echo "<li><a href='" . "#" . glossar_ . $index . "' />$index</a></li>";
$index++;
}
}
echo '</ul>';
?>
<h2><?php echo $term->name; ?></h2>
<?php $args = array( 'post_type' => 'cpt_auto', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'marke',
'field' => 'slug',
'terms' => array($term->slug)
)
)
);
// ============================= OUTPUT ==============================
$loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post();
the_title('<h3>', '</h3>');
the_content();
endwhile;
echo "<a href='" . "#" . "' />topFooter</a>";
?>
$index = 0;
$terms = get_terms('marke');
$range = array_merge(range(0, 9), range('A', 'Z'));
echo '<ul>';
foreach ($terms as $term) {
if(ord($range[$index]) <= ord(strtoupper(substr($term->name, 0, 1)))) {
while($range[$index] != strtoupper(substr($term->name, 0, 1))) {
echo '<li>'. $range[$index] . '</li>';
$index++;
}
$index = strtoupper(substr($term->name, 0, 1));
echo "<li><a href='".get_term_link($term)."' />{$range[$index]}</a></li>";
$index++;
}
}