|
1 | 1 | <?php |
2 | 2 | /** |
3 | | - * Theme Name: StudentenPACK |
4 | | - * Theme URI: http://www.phibography.de/ |
5 | | - * Description: StudentenPACK Homepage |
6 | | - * Author: Philipp Bohnenstengel |
7 | | - * Author URI: http://www.phibography.de/ |
8 | | - * Version: 0.1 |
9 | | - * Tags: |
10 | | - * |
11 | | - * License: |
12 | | - * License URI: |
13 | | - * |
14 | | - * General comments (optional). |
| 3 | + * Dieses Template wird standardmäßig geladen, wenn ein Archiv angezeigt wird. Das betrifft Kategorien, Tags, Zeiträume, Autoren. |
15 | 4 | */ |
16 | 5 | get_header(); ?> |
17 | 6 |
|
18 | 7 | <div class="box"> |
19 | | -<?php if (have_posts()) : ?> |
| 8 | +<?php |
| 9 | +//zusätzlich den post type comic berücksichtigen |
| 10 | +$parameters = ($wp_query->query_vars); |
| 11 | +$parameters['post_type'] = array('comic','post'); |
| 12 | +//alles auf einer Seite anzeigen |
| 13 | +$parameters['nopaging'] = true; |
| 14 | +if(is_author()){ |
| 15 | +//aus irgendwelchen Gründen funktioniert das mit den Coautoren nur richtig, wenn dieses Feld leer ist |
| 16 | + $parameters['author_name'] = ''; |
| 17 | +} |
| 18 | +//mit den modifizierten Parametern noch mal die Datenbankabfrage machen |
| 19 | +query_posts($parameters); |
| 20 | +if (have_posts()) : ?> |
20 | 21 | <div class="archive_list"> |
21 | | - <?php if (is_category()){ |
| 22 | + <?php |
| 23 | + //Verschiedene Überschriften für verschiedene Archivtypen. Bei Kategorien und Autoren RSS Link anzeigen |
| 24 | + if (is_category()){ |
22 | 25 | echo '<h1 class="page_title">'; |
23 | 26 | single_cat_title('Rubrik: ', true); |
24 | 27 | echo '<a href="'.get_category_feed_link(get_query_var('cat')).'" title="Abonniere diese Rubrik"><img src="'.get_bloginfo('template_directory').'/images/rss.png" alt=""/></a>'; |
|
48 | 51 | echo '<h1 class="page_title">Archiv</h1>'; |
49 | 52 | } |
50 | 53 | ?> |
51 | | - <?php while (have_posts()) : the_post(); ?> |
| 54 | + <?php |
| 55 | + //hier werden die posts aufgelistet |
| 56 | + while (have_posts()) : the_post(); ?> |
52 | 57 |
|
53 | 58 | <?php include('postinlist.php'); ?> |
54 | 59 |
|
55 | 60 | <?php endwhile; ?> |
56 | | - |
57 | | - <p class="interaction_box"> |
58 | | - <?php next_posts_link('ältere Artikel'); ?> |
59 | | - <?php previous_posts_link('neuere Artikel'); ?> |
60 | | - </p> |
61 | 61 | </div> |
62 | 62 | <div class="sidebar colorscheme_navi"> |
63 | | - <?php if(is_category){ |
| 63 | + <?php |
| 64 | + //Verschiedene Archivtypen bekommen verschiedene Zusatzinfos zur Anzeige in der Sidebar |
| 65 | + if(is_category){ |
64 | 66 | $this_category = get_category($cat); |
65 | | - |
| 67 | + //Kategorien zeigen eine Beschreibung (falls vorhanden) an |
66 | 68 | if($this_category->description != ""){ |
67 | 69 | echo '<div class="sidebar-section">'; |
68 | 70 | echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/description16px.png" alt="beschreibung"/> '.' Beschreibung</h2>'; |
|
71 | 73 | echo '</p>'; |
72 | 74 | echo '</div>'; |
73 | 75 | } |
| 76 | + //Kategorien zeigen ihren Platz in der Kategorienhierarchie an, sofern sie keine Hauptkategorie sind |
74 | 77 | if($this_category->category_parent != 0){ |
75 | 78 | echo '<div class="sidebar-section">'; |
76 | 79 | echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/category16px.png" alt="hierarchie"/> '.' Hierarchie</h2>'; |
|
79 | 82 | echo '</p>'; |
80 | 83 | echo '</div>'; |
81 | 84 | } |
| 85 | + //Kategorien zeigen Unterkategorien an, falls vorhanden |
82 | 86 | if (get_category_children($this_category->cat_ID) != "") { |
83 | 87 | echo '<div class="sidebar-section">'; |
84 | 88 | echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/subcategory16px.png" alt="unterrubriken"/> '.' Unter-Rubriken</h2>'; |
|
90 | 94 |
|
91 | 95 | } |
92 | 96 | if (is_author()){ |
| 97 | + //Autoren zeigen einen Beschreibungstext an (falls vorhanden) |
93 | 98 | if (get_the_author_meta('description', get_query_var('author')) != ""){ |
94 | 99 | echo '<div class="sidebar-section">'; |
95 | 100 | echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/author16px.png" alt="autor"/> '.' Bio</h2>'; |
96 | | - echo '<div class="sidebar_avatar">'.get_avatar(get_query_var('author'),150).'</div>'; |
| 101 | + //echo '<div class="sidebar_avatar">'.get_avatar(get_query_var('author'),150).'</div>'; |
97 | 102 | echo '<p class="smalltext">'; |
98 | 103 | echo get_the_author_meta('description', get_query_var('author')); |
99 | 104 | echo '</p>'; |
| 105 | + |
| 106 | + } |
| 107 | + //Autoren, die eine StudentenPACK-Emailadresse haben, zeigen diese an |
| 108 | + if (preg_match('/@studentenpack.uni-luebeck.de/', get_the_author_meta('user_email', get_query_var('author')))){ |
| 109 | + echo '<div class="sidebar-section">'; |
| 110 | + echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/email16px.png" alt="email"/> '.' Kontakt</h2>'; |
| 111 | + echo '<p class="smalltext">'; |
| 112 | + echo '<a href="mailto:'.get_the_author_meta('user_email', get_query_var('author')).'">'.get_the_author_meta('user_email', get_query_var('author')).'</a>'; |
| 113 | + echo '</p>'; |
100 | 114 | echo '</div>'; |
101 | 115 | } |
| 116 | + //Autoren, die eine eigene Homepage angegeben haben, zeigen diese an |
102 | 117 | if (get_the_author_meta('user_url', get_query_var('author')) != ""){ |
103 | 118 | echo '<div class="sidebar-section">'; |
104 | 119 | echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/www16px.png" alt="homepage"/> '.' Homepage</h2>'; |
|
109 | 124 | } |
110 | 125 | } |
111 | 126 | if(is_month()){ |
| 127 | + //Monate zeigen die zugehörige Ausgabe an |
112 | 128 | $year = get_the_time('Y'); |
113 | 129 | $month = get_the_time('n'); |
114 | | - //105 = Heftarchiv |
115 | | - $myquery= new WP_Query('cat=105&year='.$year.'&monthnum='.$month.'&order=DESC&posts_per_page=1'); |
| 130 | + //Gesucht wird ein post, der nicht das Tag "wahlausgabe" (327) hat, im der Kategorie Heftarchiv (105) ist, und Jahr und Monat des angezeigten Archivs hat. |
| 131 | + $myquery= new WP_Query(array('tag__not_in' => array(327), 'cat' => 105, 'year' => $year, 'monthnum' => $month)); |
116 | 132 | if ($myquery->have_posts()) : |
117 | 133 | echo '<div class="sidebar-section">'; |
118 | 134 | echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/pdf16px.png" alt="pdf"/> '.' Das Heft</h2>'; |
|
126 | 142 | else: |
127 | 143 |
|
128 | 144 | endif; |
| 145 | + //nach dieser zusätzlichen Datenbankabfrage soll alles wieder wie vorher sein |
129 | 146 | wp_reset_postdata(); |
130 | 147 | } |
131 | 148 | echo '<div class="sidebar-section">'; |
132 | | - echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/stats16px.png" alt="statistik"/> '.' Statistik</h2>'; |
133 | | - echo '<p class="smalltext">'; |
134 | | - echo $wp_query->found_posts.' Artikel'; |
135 | | - echo '</p>'; |
136 | | - |
| 149 | + //Alle Archive zeigen ein paar allgemeine Statistiken an |
| 150 | + //diese zusätzliche Abfrage stammt aus zeiten, als Archive noch in Seiten unterteilt waren und die Statistiken sonst nur für die erste Seite berechnet wurden, kann eventuell weg... |
137 | 151 | $parameters = ($wp_query->query_vars); |
138 | | - $parameters['nopaging'] = true; |
| 152 | + $parameters['post_type'] = array('comic','post'); |
| 153 | + $parameters['nopaging'] = true; |
139 | 154 | $myquery= new WP_Query($parameters); |
140 | 155 | $posts=$myquery->posts; |
| 156 | + echo '<h2 class="smalltitle">'.'<img src="'.get_bloginfo('template_directory').'/images/stats16px.png" alt="statistik"/> '.' Statistik</h2>'; |
| 157 | + //Anzahl der Artikel in diesem Archiv |
| 158 | + echo '<p class="smalltext">'; |
| 159 | + echo sizeof($posts).' Artikel'; |
| 160 | + echo '</p>'; |
| 161 | + //Zeitraum der Artikel (außer es ist ein Monatsarchiv) |
141 | 162 | if((!is_month()) && (sizeof($posts)) > 1){ |
142 | 163 | echo '<p class="smalltext">'; |
143 | 164 | echo 'Zeitraum: '.get_the_time( 'j. F Y', ($posts[(sizeof($posts)) - 1]->ID)).' – '.get_the_time( 'j. F Y', ($posts[0]->ID)); |
144 | 165 | echo '</p>'; |
145 | 166 | } |
| 167 | + //Liste der in diesem Archiv vertretenen Autoren (außer es ist ein Autorenarchiv) |
146 | 168 | if(!is_author()){ |
147 | 169 | foreach($posts as $p){ |
| 170 | + //sollte noch gegen Deaktivierung des Coauthors Plugins abgesichert werden |
148 | 171 | $tmp = get_coauthors($p->ID); |
149 | 172 | foreach ($tmp as $t){ |
| 173 | + //1 ist der Admin Account "StudentenPACK" |
150 | 174 | if ($t->ID != 1){ |
151 | | - $authors[] = $t->display_name; |
| 175 | + //eventuell könnte man statt einem Link zum Autorenarchiv irgendwie eine Filterfunktion für das aktuelle Archiv implementieren. Aber das ist irgendwie kompliziert. |
| 176 | + $authors[] = '<a href="'.get_author_posts_url($t->ID).'">'.$t->display_name.'</a>'; |
152 | 177 | } |
153 | 178 | } |
154 | 179 | } |
|
163 | 188 | echo '</li></p>'; |
164 | 189 | } |
165 | 190 | } |
| 191 | + //nach dieser zusätzlichen Datenbankabfrage soll alles wieder wie vorher sein |
166 | 192 | wp_reset_postdata(); |
167 | 193 | echo '</div>'; |
168 | 194 |
|
169 | 195 |
|
170 | 196 | ?> |
171 | 197 | </div> |
172 | | -<?php else: ?> |
| 198 | +<?php |
| 199 | +else: ?> |
173 | 200 |
|
174 | | -olol, alles weg, gnihihi! |
| 201 | +<!-- olol, alles weg, gnihihi! --> |
175 | 202 |
|
176 | 203 | <?php endif; ?> |
177 | 204 | </div> |
|
0 commit comments