-
Notifications
You must be signed in to change notification settings - Fork 3
/
archive.php
executable file
·55 lines (48 loc) · 1.78 KB
/
archive.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
<?php
/**
* The template for displaying Archive pages.
*
* Used to display archive-type pages if nothing more specific matches a query.
* For example, puts together date-based pages if no date.php file exists.
*
* Learn more: http://codex.wordpress.org/Template_Hierarchy
*
* Methods for TimberHelper can be found in the /lib sub-directory
*
* @package WordPress
* @subpackage Timber
* @since Timber 0.2
*/
$templates = [ 'archive.twig', 'index.twig' ];
$context = Timber::context();
$context['title'] = 'Archief';
if (is_day()) {
$context['title'] = 'Archief: ' . get_the_date('D M Y');
} elseif (is_month()) {
$context['title'] = 'Archief: ' . get_the_date('M Y');
} elseif (is_year()) {
$context['title'] = 'Archief: ' . get_the_date('Y');
} elseif (is_tag()) {
$context['title'] = single_tag_title('', false);
} elseif (is_category()) {
$context['title'] = single_cat_title('', false);
array_unshift($templates, 'archive-' . get_query_var('cat') . '.twig');
} elseif (is_post_type_archive()) {
$context['title'] = post_type_archive_title('', false);
array_unshift($templates, 'archive-' . get_post_type() . '.twig');
} elseif (is_tax('dossier')) {
$context['term'] = Timber::get_term(get_queried_object());
array_unshift($templates, 'dossier.twig');
}
$context['posts'] = Timber::get_posts();
if (is_post_type_archive() && get_post_type() === 'tv') {
$context['posts'] = $context['posts']->to_array();
foreach ($context['posts'] as $show) {
$videos = zw_get_tv_episodes($show->id);
$show->lastBroadcast = isset($videos[0]) ? $videos[0]->getBroadcastDate() : null;
}
usort($context['posts'], function ($lhs, $rhs) {
return $rhs->lastBroadcast <=> $lhs->lastBroadcast;
});
}
Timber::render($templates, $context);