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
← All changes | views/widgets/archive-list.php +59 -4 3.4.24.9.2 View file →
@@ -1,5 +1,60 @@
1 1 <?php
2 - $_defined_vars = get_defined_vars();
3 - $_params = isset( $_defined_vars['params'] ) ? $_defined_vars['params'] : [];
4 - $view_object->get( 'template-parts/category-list', $_params );
5 -?>
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 +}