PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.6.2
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.6.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 3.5.2 All 199 releases
betterdocs / views / widgets / block-archive-list.php

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

71 lines 2.9 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 $current_category = get_queried_object();
8
9 if ( $current_category != null && $layout == 'layout-1' ) :
10
11 ?>
12 <div class='betterdocs-content-area block-archive-list <?php echo esc_attr( $blockId ); ?>'>
13 <div class="betterdocs-content-inner-area">
14 <div class="betterdocs-entry-title">
15 <?php
16 $title_tag = tag_escape( betterdocs()->template_helper->is_valid_tag( isset( $title_tag ) ? $title_tag : 'h2' ) );
17 echo wp_sprintf(
18 '<%1$s class="betterdocs-entry-heading">%2$s</%1$s>',
19 $title_tag, //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
20 esc_html( $current_category->name )
21 );
22 echo wp_sprintf( '<p>%s</p>', wp_kses_post( $current_category->description ) );
23 ?>
24 </div>
25 <div class="betterdocs-entry-body betterdocs-taxonomy-doc-category">
26 <?php $view_object->get( 'widgets/archive-list' ); ?>
27 </div>
28 </div>
29 </div>
30 <?php
31 elseif ( $current_category != null && $layout == 'layout-2' ) :
32 // Public action name predates the prefix convention; renaming would break third-party integrations.
33 // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
34 do_action( 'archive_handbook_list' );
35 elseif ( $current_category != null && ( $layout == 'layout-3' || $layout == 'layout-4' ) ) :
36 $post_query = new WP_Query( $query_args );
37
38
39 // Determine CSS class and template based on layout
40 $css_class = $layout == 'layout-3' ? 'doc-category-layout-7' : 'doc-category-layout-4';
41 $template = $layout == 'layout-3' ? 'template-parts/archive-doc-list' : 'template-parts/archive-doc-list-2';
42
43 echo '<div class="' . esc_attr( $blockId ) . ' ' . esc_attr( $css_class ) . '">';
44 betterdocs()->views->get(
45 $template,
46 [
47 'current_category' => $current_category,
48 'post_query' => $post_query,
49 'docs_list_title_tag' => isset( $docs_list_title_tag ) ? $docs_list_title_tag : 'h2'
50 ]
51 );
52
53 // Common pagination logic for both layout-3 and layout-4
54 if ( $pagination ) {
55 $current_page = isset( $page ) ? $page : ( get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1 );
56 $posts_per_page = isset( $posts_per_page ) && $posts_per_page > 0 ? $posts_per_page : 10;
57 $total_pages = ceil( ( isset( $post_query->found_posts ) ? $post_query->found_posts : 0 ) / $posts_per_page );
58 betterdocs()->views->get(
59 'template-parts/pagination',
60 [
61 'total_pages' => $total_pages,
62 'link' => ( $current_category instanceof \WP_Term ) ? get_term_link( $current_category, 'doc_category' ) : get_permalink(get_the_ID()),
63 'current_page' => $current_page,
64 'template' => 'doc_category'
65 ]
66 );
67 }
68 echo '</div>';
69 endif;
70 ?>
71