PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.3
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.3
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 3.4.2 3.5.0 All 201 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.9.3, at views/templates/taxonomy-doc_category.php

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