-
Notifications
You must be signed in to change notification settings - Fork 0
/
archive-faq.php
131 lines (110 loc) · 4.04 KB
/
archive-faq.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
121
122
123
124
125
126
127
128
129
130
131
<?php get_header(); ?>
<?php
global $porto_settings, $porto_layout;
$faq_infinite = $porto_settings['faq-infinite'];
$args = array(
'post_type' => 'faq',
'post_status' => 'publish',
);
if ( isset( $porto_settings['faq-orderby'] ) && $porto_settings['faq-orderby'] ) {
$args['orderby'] = esc_attr( $porto_settings['faq-orderby'] );
}
if ( isset( $porto_settings['faq-order'] ) && $porto_settings['faq-order'] ) {
$args['order'] = esc_attr( $porto_settings['faq-order'] );
}
$query = new WP_Query( $args );
?>
<div id="content" role="main" class="<?php echo porto_is_wide_layout( $porto_layout ) ? 'm-t-lg m-b-xl' . ( porto_get_wrapper_type() !== 'boxed' ? ' m-r-md m-l-md' : '' ) : ''; ?>">
<?php if ( ! is_search() && 'content' == $porto_settings['faq-cat-sort-pos'] && $porto_settings['faq-title'] ) : ?>
<?php
if ( 'widewidth' === $porto_layout ) :
?>
<div class="container"><?php endif; ?>
<?php if ( $porto_settings['faq-sub-title'] ) : ?>
<h2 class="m-b-xs"><?php echo wp_kses_post( $porto_settings['faq-title'] ); ?></h2>
<p class="lead m-b-xl"><?php echo wp_kses_post( $porto_settings['faq-sub-title'] ); ?></p>
<?php else : ?>
<h2><?php echo wp_kses_post( $porto_settings['faq-title'] ); ?></h2>
<?php endif; ?>
<?php
if ( 'widewidth' === $porto_layout ) :
?>
</div><?php endif; ?>
<?php endif; ?>
<?php if ( have_posts() ) : ?>
<div class="page-faqs clearfix">
<?php
if ( 'hide' !== $porto_settings['faq-cat-sort-pos'] && ! is_search() ) {
if ( 'sidebar' === $porto_settings['faq-cat-sort-pos'] && ! ( 'widewidth' == $porto_layout || 'fullwidth' == $porto_layout ) ) {
add_action( 'porto_before_sidebar', 'porto_show_faq_archive_filter', 1 );
} elseif ( 'content' === $porto_settings['faq-cat-sort-pos'] ) {
$faq_taxs = array();
$taxs = get_categories(
array(
'taxonomy' => 'faq_cat',
'orderby' => isset( $porto_settings['faq-cat-orderby'] ) ? $porto_settings['faq-cat-orderby'] : 'name',
'order' => isset( $porto_settings['faq-cat-order'] ) ? $porto_settings['faq-cat-order'] : 'asc',
)
);
foreach ( $taxs as $tax ) {
$faq_taxs[ urldecode( $tax->slug ) ] = $tax->name;
}
if ( ! $faq_infinite ) {
global $wp_query;
$posts_faq_taxs = array();
if ( is_array( $wp_query->posts ) && ! empty( $wp_query->posts ) ) {
foreach ( $wp_query->posts as $post ) {
$post_taxs = wp_get_post_terms( $post->ID, 'faq_cat', array( 'fields' => 'all' ) );
if ( is_array( $post_taxs ) && ! empty( $post_taxs ) ) {
foreach ( $post_taxs as $post_tax ) {
$posts_faq_taxs[ urldecode( $post_tax->slug ) ] = $post_tax->name;
}
}
}
}
foreach ( $faq_taxs as $key => $value ) {
if ( ! isset( $posts_faq_taxs[ $key ] ) ) {
unset( $faq_taxs[ $key ] );
}
}
}
// Show Filters
if ( is_array( $faq_taxs ) && ! empty( $faq_taxs ) ) :
?>
<?php
if ( 'widewidth' === $porto_layout ) :
?>
<div class="container"><?php endif; ?>
<ul class="faq-filter nav nav-pills sort-source">
<li class="active" data-filter="*"><a href="#"><?php esc_html_e( 'Show All', 'porto' ); ?></a></li>
<?php foreach ( $faq_taxs as $faq_tax_slug => $faq_tax_name ) : ?>
<li data-filter="<?php echo esc_attr( $faq_tax_slug ); ?>"><a href="#"><?php echo esc_html( $faq_tax_name ); ?></a></li>
<?php endforeach; ?>
</ul>
<hr>
<?php
if ( 'widewidth' === $porto_layout ) :
echo '</div>';
endif;
?>
<?php
endif;
}
}
?>
<div class="faq-row faqs-container">
<?php
while ( $query->have_posts() ) {
$query->the_post();
get_template_part( 'content', 'archive-faq' );
}
?>
</div>
<?php porto_pagination( null, false, $query ); ?>
</div>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php esc_html_e( 'Apologies, but no results were found for the requested archive.', 'porto' ); ?></p>
<?php endif; ?>
</div>
<?php get_footer(); ?>