-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex-template.php
120 lines (91 loc) · 2.33 KB
/
index-template.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
/*
Template Name: Index Template
*/
get_header(); ?>
<div class="jbasewrap index">
<?php
/*
pseudocode:
start letters
get tags
for each tag
get tag's 1st letter
if letter != previous tag's 1st letter
start letter
start entries
endif
start entry
echo tag
query posts with tag
while have posts
echo post link
endwhile
end entry
if letter != previous tag's first letter
end entries
end letter
endif
endforeach
end letters
*/
?>
<ul class="letters">
<?php
$prev_letter = '';
$prev_row = '';
$i = 0;
$tags = get_tags();
$letters = array();
foreach ($tags as $tag){
$tag_link = get_tag_link($tag->term_id);
$tagname = $tag->name;
$tagslug = $tag->slug;
$letter = strtoupper(substr($tagname,0,1));
$letters[] = $letter;
if ($i != 0) {
if ($letter != $prev_row) {
?>
</li> <!-- / letter -->
</ul> <!-- / entries -->
<?php }
}
$i++; ?>
<?php
if ($letter != $prev_row) { ?>
<li class='letter'><h2><a name='<?php echo ($letter); ?>'></a><?php echo ($letter); ?></h2>
<ul class='entries'>
<?php } ?>
<?php if ($letter != $prev_row) { ?>
</li><!-- / entry -->
<?php } ?>
<li class='entry'><span><?php echo ($tagname); ?></span>
<?php $query = new WP_Query( "tag=$tagslug" ); ?>
<ul class="references">
<?php
// The Loop
while ( $query->have_posts() ) : $query->the_post(); ?>
<li class='reference'>
<h4 class='small'>
<a href="<?php echo ($post->guid); ?>"><?php echo ($post->post_title); ?></a>
</h4>
</li><!-- / reference -->
<?php endwhile; ?>
</ul><!-- / references -->
<?php
$prev_row = $letter;
} ?>
</ul><!-- / final entries ul -->
</ul><!-- / letters -->
<ul class="indexNav">
<?php
foreach ($letters as $letter) {
if ($letter != $prev_letter) {
echo "<li><a href='#{$letter}'>{$letter}</a></li>";
$prev_letter = $letter;
}
}
?>
</ul>
</div>
<?php get_footer(); ?>