-
Notifications
You must be signed in to change notification settings - Fork 0
/
category.php
94 lines (75 loc) · 2.37 KB
/
category.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
<?php get_header(); ?>
<?php
$curr_cat = get_category( $cat );
$cat_name = ( $curr_cat ) ? $curr_cat->slug : '';
$loop_featured = new WP_Query(
array(
'category_name' => $cat_name,
'posts_per_page' => 2,
));
$ids = array();
?>
<div class="main-content">
<?php get_template_part('inc/subheader'); ?>
<div class="stickywrap">
<?php get_template_part('inc/page-title'); ?>
<div class="category-featured-cards group">
<?php
while ( $loop_featured->have_posts() ) : $loop_featured->the_post();
$ids[] = get_the_ID();
get_template_part('content-featured-category');
endwhile;
wp_reset_postdata();
?>
</div>
</div>
<?php
if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) { // 'page' is used instead of 'paged' on Static Front Page
$paged = get_query_var('page');
} else {
$paged = 1;
}
$custom_query_args = array(
'post_type' => 'post',
'posts_per_page' => get_option('posts_per_page'),
'paged' => $paged,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
'post__not_in' => $ids,
'category_name' => $cat_name,
'order' => 'DESC',
'orderby' => 'date'
);
$custom_query = new WP_Query( $custom_query_args );
if ( $custom_query->have_posts() ) :
?>
<div class="stickywrap">
<?php while( $custom_query->have_posts() ) : $custom_query->the_post(); ?>
<?php
// Assign the year to a variable
$year = get_the_date('Y', '', '', FALSE);
$year_link = get_year_link($year);
// If your year hasn't been echoed earlier in the loop, echo it now
if (! isset($year_check) || $year !== $year_check) {
echo "</div><div class='stickywrap'><h3 class='sticky-heading'><a href='" . $year_link . "'>" . $year . "</a></h3>";
}
// Now that your year has been printed, assign it to the $year_check variable
$year_check = $year;
?>
<?php get_template_part('content'); ?>
<?php endwhile; ?>
</div>
<?php if ($custom_query->max_num_pages > 1) : // custom pagination ?>
<?php
$orig_query = $wp_query; // fix for pagination to work
$wp_query = $custom_query;
?>
<?php get_template_part('inc/pagination'); ?>
<?php $wp_query = $orig_query; // fix for pagination to work ?>
<?php endif; ?>
<?php wp_reset_postdata(); endif; ?>
</div><!--/.main-content-->
<?php get_sidebar(); ?>
<?php get_footer(); ?>