PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.2
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.2
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 3.5.1 All 200 releases
betterdocs / views / widgets / archive-list.php

archive-list.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.2, at views/widgets/archive-list.php

61 lines 2.7 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 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7 use WPDeveloper\BetterDocs\Utils\Helper;
8
9 $_defined_vars = get_defined_vars();
10 $_params = isset( $_defined_vars['params'] ) ? $_defined_vars['params'] : [];
11 $pagination = isset( $_params['pagination'] ) ? $_params['pagination'] : false;
12
13 if ( isset( $archive_layout ) && $archive_layout == 'layout-1' ) {
14 $view_object->get( 'template-parts/category-list', $_params );
15 } elseif ( isset( $archive_layout ) && $archive_layout == 'layout-3' ) {
16 $post_query = new WP_Query( $_params['query_args'] );
17 $view_object->get(
18 'template-parts/archive-doc-list-2',
19 [
20 'current_category' => $_params['term'],
21 'post_query' => $post_query,
22 'docs_list_title_tag' => isset( $_params['docs_list_title_tag'] ) ? $_params['docs_list_title_tag'] : 'h2'
23 ]
24 );
25 // Nested subcategories — emitted here (not inside the shared leaf template,
26 // which the block and Customizer archive layouts also use) so it stays
27 // scoped to this widget. Sibling after the grid, so it is not a grid cell.
28 $view_object->get( 'template-parts/archive-nested-categories', $_params );
29 } elseif ( isset( $_params['query_args'] ) ) {
30 $post_query = new WP_Query( $_params['query_args'] );
31 $view_object->get(
32 'template-parts/archive-doc-list',
33 [
34 'post_query' => $post_query,
35 'docs_list_title_tag' => isset( $_params['docs_list_title_tag'] ) ? $_params['docs_list_title_tag'] : 'h2'
36 ]
37 );
38 // Nested subcategories for Layout 2 (scoped to this widget — see above).
39 $view_object->get( 'template-parts/archive-nested-categories', $_params );
40 }
41
42 if ( isset( $pagination ) && $pagination ) {
43 $current_term = isset( $edit_mode ) && $edit_mode && isset( $widget_type ) && $widget_type == 'elementor' ? Helper::get_highest_docs_term() : ( isset( $_params['term'] ) ? $_params['term'] : '' );
44 $query_args = isset( $_params['query_args'] ) ? $_params['query_args'] : [];
45 $post_query = new WP_Query( $query_args );
46 $posts_per_page = isset( $_params['posts_per_page'] ) ? $_params['posts_per_page'] : 10;
47 $total_pages = ceil( ( isset( $post_query->found_posts ) ? $post_query->found_posts : 0 ) / $posts_per_page );
48
49 $link = ! is_wp_error( get_term_link( $current_term, 'doc_category' ) ) ? get_term_link( $current_term, 'doc_category' ) : ( get_the_ID() != false ? get_permalink( get_the_ID() ) : '' );
50
51 $view_object->get(
52 'template-parts/pagination',
53 [
54 'total_pages' => $total_pages,
55 'link' => $link,
56 'current_page' => isset( $_params['page'] ) ? $_params['page'] : 1,
57 'template' => 'doc_category'
58 ]
59 );
60 }
61