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 / archives / categories / layout-8.php

layout-8.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.3, at views/templates/archives/categories/layout-8.php

212 lines 8.0 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 4.2.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( 'content_header_title_tag_layout7', 'h2' );
23 $title_tag = betterdocs()->template_helper->is_valid_tag( $title_tag );
24 $column_title_tag = betterdocs()->customizer->defaults->get( 'archive_column_title_tag_layout7', 'h2' );
25 $column_title_tag = betterdocs()->template_helper->is_valid_tag( $column_title_tag );
26 $docs_list_title_tag = betterdocs()->customizer->defaults->get( 'archive_docs_list_title_tag_layout_7', 'h2' );
27 $docs_list_title_tag = betterdocs()->template_helper->is_valid_tag( $docs_list_title_tag );
28 $enable_pagintion = betterdocs()->settings->get( 'archive_enable_pagination' );
29 $sidebar_switch = betterdocs()->customizer->defaults->get( 'sidebar_search_layout_7_toggle' );
30 $content_area_search = betterdocs()->customizer->defaults->get( 'archive_content_area_search_toogle' );
31 $enable_sidebar_search = isset( $sidebar_search ) ? $sidebar_search : true;
32 ?>
33
34 <div class="betterdocs-wrapper betterdocs-taxonomy-wrapper betterdocs-archive-layout-8 betterdocs-category-archive-wrapper betterdocs-wraper">
35 <?php
36 if ( betterdocs()->customizer->defaults->get( 'archive_search_toogle' ) ) {
37 betterdocs()->template_helper->search();
38 }
39 $content_area_classes = [
40 'betterdocs-content-wrapper',
41 "doc-category-layout-8"
42 ];
43
44 $current_category = get_queried_object();
45 $term_link = isset( $current_category->term_id ) ? get_term_link( $current_category->term_id ) : '';
46 $page = get_query_var( 'paged' ) != '' ? get_query_var( 'paged' ) : 1;
47 $args = betterdocs()->query->docs_query_args(
48 [
49 'term_id' => $current_category->term_id,
50 'term_slug' => $current_category->slug,
51 'posts_per_page' => 10,
52 'paged' => $page,
53 'orderby' => betterdocs()->settings->get( 'alphabetically_order_post', 'betterdocs_order' ),
54 'order' => betterdocs()->settings->get( 'docs_order', 'ASC' )
55 ]
56 );
57
58 if ( ! $enable_pagintion ) {
59 $args['posts_per_page'] = -1;
60 unset( $args['paged'] );
61 }
62
63 $post_query = new WP_Query( $args );
64 $total_pages = ceil( ( isset( $post_query->found_posts ) ? $post_query->found_posts : 0 ) / 10 );
65 $_nested_categories = betterdocs()->query->get_child_term_ids_by_parent_id( 'doc_category', $current_category->term_id );
66 if ( $_nested_categories ) {
67 $sub_terms_count = count( explode( ',', $_nested_categories ) );
68 } else {
69 $sub_terms_count = 0;
70 }
71 ?>
72
73 <div class="<?php echo esc_attr( implode( ' ', $content_area_classes ) ); ?>">
74 <?php
75 betterdocs()->template_helper->sidebar(
76 'layout-8',
77 'template',
78 [
79 'shortcode_attr' => [
80 'nested_subcategory' => betterdocs()->settings->get( 'archive_nested_subcategory' )
81 ]
82 ]
83 );
84 ?>
85
86 <div id="main" class="betterdocs-content-area">
87 <div class="betterdocs-content-inner-area">
88 <?php
89 $view_object->get(
90 'templates/parts/mobile-nav',
91 [
92 'mobile_sidebar' => true,
93 'mobile_toc' => false
94 ]
95 );
96 echo '<div class="betterdocs-breadcrumb-search">';
97 /**
98 * Breadcrumbs
99 */
100 $view_object->get(
101 'templates/parts/breadcrumbs',
102 [
103 'breadcrumbs_layout' => 'layout-3'
104 ]
105 );
106
107 if ( $content_area_search ) {
108 $search_attributes = [
109 'placeholder' => betterdocs()->settings->get( 'search_placeholder' ),
110 'number_of_faqs' => betterdocs()->customizer->defaults->get( 'search_modal_query_initial_number_of_faqs' ),
111 'number_of_docs' => betterdocs()->customizer->defaults->get( 'search_modal_query_initial_number_of_docs' ),
112 'search_button_text' => betterdocs()->customizer->defaults->get( 'search_button_text', __( 'Search', 'betterdocs' ) ),
113 'enable_docs_search' => betterdocs()->settings->get('search_modal_search_type', 'all'),
114 ];
115
116 if( betterdocs()->settings->get('search_modal_search_type', 'all') == 'all' ) {
117 $search_attributes['enable_docs_search'] = true;
118 $search_attributes['enable_faq_search'] = true;
119 } else if( betterdocs()->settings->get('search_modal_search_type', 'all') == 'docs' ) {
120 $search_attributes['enable_docs_search'] = true;
121 $search_attributes['enable_faq_search'] = false;
122 } else if( betterdocs()->settings->get('search_modal_search_type', 'all') == 'faq' ) {
123 $search_attributes['enable_docs_search'] = false;
124 $search_attributes['enable_faq_search'] = true;
125 }
126
127 if ( betterdocs()->customizer->defaults->get( 'search_modal_query_type' ) === 'specific_doc_ids' ) {
128 $search_attributes['doc_ids'] = betterdocs()->customizer->defaults->get( 'search_modal_query_doc_ids' );
129 } elseif ( betterdocs()->customizer->defaults->get( 'search_modal_query_type' ) === 'specific_doc_term_ids' ) {
130 $search_attributes['doc_categories_ids'] = betterdocs()->customizer->defaults->get( 'search_modal_query_doc_term_ids' );
131 }
132
133 if ( betterdocs()->customizer->defaults->get( 'search_modal_faq_query_type' ) === 'specific_faq_term_ids' ) {
134 $search_attributes['faq_categories_ids'] = betterdocs()->customizer->defaults->get( 'search_modal_query_faq_term_ids' );
135 }
136
137 if( betterdocs()->helper->is_ai_chatbot_enabled() && betterdocs()->settings->get('enable_ai_powered_search') ) {
138 $search_attributes['enable_ai_powered_search'] = true;
139 }
140
141 $search_attributes = betterdocs()->template_helper->get_html_attributes( $search_attributes );
142
143 echo do_shortcode( '[betterdocs_search_modal ' . $search_attributes . ' layout="docs-archive" search_button="true"]' );
144 }
145 echo '</div>';
146
147 $view_object->get(
148 'template-parts/archive-header',
149 [
150 'taxonomy' => 'doc_category',
151 'current_category' => $current_category,
152 'sub_terms_count' => $sub_terms_count,
153 'show_icon' => true,
154 'title_tag' => $title_tag,
155 'show_count' => true,
156 'found_posts' => $post_query->found_posts
157 ]
158 );
159
160 if ( $_nested_categories ) {
161 echo '<div class="betterdocs-archive-wrap betterdocs-archive-main betterdocs-categories-folder">';
162 $attributes = betterdocs()->template_helper->shortcode_atts(
163 [
164 'title_tag' => $column_title_tag,
165 'terms' => $_nested_categories,
166 'terms_order' => betterdocs()->settings->get( 'terms_order', 'ASC' ),
167 'terms_orderby' => betterdocs()->settings->get( 'terms_orderby', 'betterdocs_order' ),
168 'last_update' => true,
169 'column' => 3,
170 'show_icon' => betterdocs()->customizer->defaults->get( 'betterdocs_doc_page_show_category_icon' )
171 ],
172 'betterdocs_category_box_3',
173 'layout-4'
174 );
175
176 if ( betterdocs()->settings->get( 'archive_nested_subcategory' ) ) {
177 echo do_shortcode( '[betterdocs_category_box_3 ' . $attributes . ']' );
178 }
179 echo '</div>';
180 }
181
182 $view_object->get(
183 'template-parts/archive-doc-list-2',
184 [
185 'post_query' => $post_query,
186 'docs_list_title_tag' => $docs_list_title_tag
187 ]
188 );
189 ?>
190
191 <?php
192 if ( $enable_pagintion ) {
193 $page = get_query_var( 'paged' ) != '' ? get_query_var( 'paged' ) : 1; //applicable for parent category only
194 $view_object->get(
195 'template-parts/pagination',
196 [
197 'total_pages' => $total_pages,
198 'link' => $term_link,
199 'current_page' => $page,
200 'template' => 'doc_category'
201 ]
202 );
203 }
204 ?>
205 </div>
206 </div>
207 </div>
208 </div>
209
210 <?php
211 get_footer();
212