PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.2.6
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.2.6
4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 All 203 releases
betterdocs / views / templates / taxonomy-doc_category.php

taxonomy-doc_category.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.2.6, at views/templates/taxonomy-doc_category.php

152 lines 5.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Template archive docs
5 *
6 * @link https://wpdeveloper.com
7 * @since 1.0.0
8 *
9 * @package BetterDocs
10 * @subpackage BetterDocs/public
11 */
12
13 get_header();
14
15 $view_object = betterdocs()->views;
16 $layout = betterdocs()->customizer->defaults->get( 'betterdocs_archive_layout_select', 'layout-7' );
17 $title_tag = betterdocs()->customizer->defaults->get( 'betterdocs_archive_title_tag', 'h2' );
18 $title_tag = betterdocs()->template_helper->is_valid_tag( $title_tag );
19 $enable_pagintion = betterdocs()->settings->get( 'archive_enable_pagination' );
20
21 $content_area_classes = [
22 'betterdocs-content-wrapper betterdocs-display-flex',
23 "doc-category-$layout"
24 ];
25
26 $current_category = get_queried_object();
27 $term_link = isset( $current_category->term_id ) ? get_term_link( $current_category->term_id ) : '';
28 ?>
29
30 <div class="betterdocs-wrapper betterdocs-taxonomy-wrapper betterdocs-category-archive-wrapper betterdocs-wraper">
31 <?php betterdocs()->template_helper->search(); ?>
32
33 <div class="<?php echo esc_attr( implode( ' ', $content_area_classes ) ); ?>">
34 <?php betterdocs()->template_helper->sidebar( $layout, 'template' ); ?>
35
36 <div id="main" class="betterdocs-content-area">
37 <div class="betterdocs-content-inner-area">
38 <?php
39 $view_object->get(
40 'templates/parts/mobile-nav',
41 [
42 'mobile_sidebar' => true,
43 'mobile_toc' => false
44 ]
45 );
46 /**
47 * Breadcrumbs
48 */
49 $view_object->get( 'templates/parts/breadcrumbs' );
50 ?>
51
52 <div class="betterdocs-entry-title">
53 <?php
54 echo wp_sprintf(
55 '<%1$s class="betterdocs-entry-heading">%2$s</%1$s>',
56 $title_tag, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
57 esc_html( $current_category->name )
58 );
59 echo wp_sprintf( '<p>%s</p>', wp_kses_post( $current_category->description ) );
60 ?>
61 </div>
62
63 <div class="betterdocs-entry-body betterdocs-taxonomy-doc-category">
64 <ul>
65 <?php
66 $page = get_query_var( 'paged' ) != '' ? get_query_var( 'paged' ) : 1;
67 $args = betterdocs()->query->docs_query_args(
68 [
69 'term_id' => $current_category->term_id,
70 'term_slug' => $current_category->slug,
71 'posts_per_page' => 10,
72 'paged' => $page,
73 'orderby' => betterdocs()->settings->get( 'alphabetically_order_post', 'betterdocs_order' ),
74 'order' => betterdocs()->settings->get( 'docs_order', 'ASC' )
75 ]
76 );
77
78 $custom_icon = betterdocs()->customizer->defaults->get( 'betterdocs_archive_list_icon' );
79 $settings_list_icon = betterdocs()->settings->get( 'docs_list_icon' );
80
81 if ( ! $custom_icon && $settings_list_icon ) {
82 $custom_icon = $settings_list_icon['url'];
83 }
84
85 if ( ! $enable_pagintion ) {
86 $args['posts_per_page'] = -1;
87 unset( $args['paged'] );
88 }
89
90 $post_query = new WP_Query( $args );
91 $total_pages = ceil( ( isset( $post_query->found_posts ) ? $post_query->found_posts : 0 ) / 10 );
92 if ( $post_query->have_posts() ) :
93 while ( $post_query->have_posts() ) :
94 $post_query->the_post();
95 if ( $custom_icon ) {
96 $icon = '<img src="' . esc_url( $custom_icon ) . '" />';
97 } else {
98 $icon = betterdocs()->template_helper->icon();
99 }
100 echo wp_sprintf(
101 '<li>%s<a href="%s">%s</a></li>',
102 $icon, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
103 esc_attr( esc_url( get_the_permalink() ) ),
104 betterdocs()->template_helper->kses( get_the_title() ) //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
105 );
106 endwhile;
107 wp_reset_postdata();
108 endif; // $post_query->have_posts()
109
110 betterdocs()->views->get(
111 'template-parts/nested-categories',
112 [
113 'term_id' => $current_category->term_id,
114 'widget' => null,
115 'nested_subcategory' => betterdocs()->settings->get( 'archive_nested_subcategory' ),
116 'nested_docs_query_args' => [
117 'orderby' => betterdocs()->settings->get( 'alphabetically_order_post', 'betterdocs_order' ),
118 'order' => betterdocs()->settings->get( 'docs_order', 'ASC' )
119 ],
120 'nested_terms_query' => [
121 'orderby' => betterdocs()->settings->get( 'terms_orderby', 'betterdocs_order' ),
122 'order' => betterdocs()->settings->get( 'terms_order', 'ASC' )
123 ],
124 'list_icon_url' => $custom_icon,
125 'layout_type' => 'template'
126 ]
127 );
128 ?>
129 </ul>
130 </div>
131 </div>
132 <?php
133 if ( $enable_pagintion ) {
134 $page = get_query_var( 'paged' ) != '' ? get_query_var( 'paged' ) : 1; //applicable for parent category only
135 $view_object->get(
136 'template-parts/pagination',
137 [
138 'total_pages' => $total_pages,
139 'link' => $term_link,
140 'current_page' => $page,
141 'template' => 'doc_category'
142 ]
143 );
144 }
145 ?>
146 </div>
147 </div>
148 </div>
149
150 <?php
151 get_footer();
152