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
← All changes | views/templates/sidebars/sidebar-4.php +67 -52 3.3.4 → 4.9.3 View file →
@@ -1,66 +1,81 @@
1 1 <?php
2 - if ( ( isset( $force ) && $force == null ) || ! isset( $force ) ) {
3 - if( ! betterdocs()->settings->get( 'enable_sidebar_cat_list' ) ) {
4 - return;
5 - }
6 - }
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 +if ( ( isset( $force ) && $force == null ) || ! isset( $force ) ) {
8 + if ( ! betterdocs()->settings->get( 'enable_sidebar_cat_list' ) && isset( $layout_type ) && $layout_type == 'template' ) {
9 + return;
10 + }
11 + }
7 12
8 - $wrapper_attributes = [
9 - 'class' => ['betterdocs-sidebar betterdocs-full-sidebar-left betterdocs-sidebar-layout-4 betterdocs-background'],
10 - 'id' => 'betterdocs-sidebar betterdocs-sidebar-left betterdocs-height'
11 - ];
13 + $wrapper_attributes = [
14 + 'class' => [ 'betterdocs-sidebar betterdocs-full-sidebar-left betterdocs-sidebar-layout-4 betterdocs-background' ],
15 + 'id' => 'betterdocs-sidebar-left'
16 + ];
12 17
13 - /**
14 - * @var array $wrapper_attr_array
15 - */
16 - if ( isset( $wrapper_attr_array ) && ! empty( $wrapper_attr_array ) && is_array( $wrapper_attr_array ) ) {
17 - $wrapper_attributes = betterdocs()->views->merge( $wrapper_attr_array, $wrapper_attributes );
18 - }
18 + /**
19 + * @var array $wrapper_attr_array
20 + */
21 + if ( isset( $wrapper_attr_array ) && ! empty( $wrapper_attr_array ) && is_array( $wrapper_attr_array ) ) {
22 + $wrapper_attributes = betterdocs()->views->merge( $wrapper_attr_array, $wrapper_attributes );
23 + }
19 24
20 - $wrapper_attributes = betterdocs()->template_helper->get_html_attributes( $wrapper_attributes );
25 + $wrapper_attributes = betterdocs()->template_helper->get_html_attributes( $wrapper_attributes );
21 26 ?>
22 27
23 28 <aside
24 - <?php echo $wrapper_attributes; ?>>
25 - <div data-simplebar="init" class="betterdocs-sidebar-content betterdocs-height">
26 - <?php
27 - $terms_orderby = betterdocs()->settings->get( 'terms_orderby' );
28 - $terms_order = betterdocs()->settings->get( 'terms_order' );
29 - $multiple_kb = betterdocs()->settings->get( 'multiple_kb' );
29 + <?php echo $wrapper_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
30 + <div data-simplebar="init" class="betterdocs-sidebar-content betterdocs-height">
31 + <?php
32 + $terms_orderby = betterdocs()->settings->get( 'terms_orderby' );
33 + $terms_order = betterdocs()->settings->get( 'terms_order' );
34 + $multiple_kb = betterdocs()->settings->get( 'multiple_kb' );
30 35
31 - if ( betterdocs()->settings->get( 'alphabetically_order_term' ) ) {
32 - $terms_orderby = 'name';
33 - }
36 + if ( betterdocs()->settings->get( 'alphabetically_order_term' ) ) {
37 + $terms_orderby = 'name';
38 + }
34 39
35 - $title_tag = betterdocs()->customizer->defaults->get( 'betterdocs_sidebar_title_tag' );
40 + $title_tag = betterdocs()->customizer->defaults->get( 'betterdocs_sidebar_title_tag' );
36 41
37 - $_shortcode_attr = [
38 - 'terms_order' => $terms_order,
39 - 'terms_orderby' => $terms_orderby,
40 - 'sidebar_list' => true,
41 - 'show_icon' => false,
42 - 'show_count' => false,
43 - 'posts_per_page' => -1,
44 - 'title_tag' => betterdocs()->template_helper->is_valid_tag( $title_tag )
45 - ];
42 + $_shortcode_attr = [
43 + 'terms_order' => $terms_order,
44 + 'terms_orderby' => $terms_orderby,
45 + 'sidebar_list' => true,
46 + 'show_icon' => false,
47 + 'show_count' => false,
48 + 'posts_per_page' => -1,
49 + 'title_tag' => betterdocs()->template_helper->is_valid_tag( $title_tag ),
50 + 'layout_type' => isset( $layout_type ) ? $layout_type : '',
51 + 'lazy_load' => ! empty( betterdocs()->settings->get( 'archive_lazy_load_descendants' ) ),
52 + ];
46 53
47 - if ( $multiple_kb ) {
48 - $_shortcode_attr['multiple_knowledge_base'] = true;
49 - }
54 + if ( isset( $layout_type ) && $layout_type == 'template' ) {
55 + $_shortcode_attr['list_icon_url'] = ! empty( betterdocs()->customizer->defaults->get( 'betterdocs_sidbebar_item_list_icon' ) ) ? betterdocs()->customizer->defaults->get( 'betterdocs_sidbebar_item_list_icon' ) : ( ! empty( betterdocs()->settings->get( 'docs_list_icon' ) ) ? betterdocs()->settings->get( 'docs_list_icon' )['url'] : '' );
56 + }
50 57
51 - /**
52 - * @var array $shortcode_attr
53 - */
54 - if ( isset( $shortcode_attr ) ) {
55 - $_shortcode_attr = array_merge( $_shortcode_attr, $shortcode_attr );
56 - }
58 + if ( isset( $layout_type ) && $layout_type == 'block' ) {
59 + $_shortcode_attr['list_icon_url'] = '';
60 + }
57 61
58 - $attributes = betterdocs()->template_helper->shortcode_atts(
59 - $_shortcode_attr,
60 - 'betterdocs_category_grid',
61 - 'sidebar-4'
62 - );
63 - echo do_shortcode( '[betterdocs_category_grid ' . $attributes . ']' );
64 - ?>
65 - </div>
62 + if ( $multiple_kb ) {
63 + $_shortcode_attr['multiple_knowledge_base'] = true;
64 + }
65 +
66 + /**
67 + * @var array $shortcode_attr
68 + */
69 + if ( isset( $shortcode_attr ) ) {
70 + $_shortcode_attr = array_merge( $_shortcode_attr, $shortcode_attr );
71 + }
72 +
73 + $attributes = betterdocs()->template_helper->shortcode_atts(
74 + $_shortcode_attr,
75 + 'betterdocs_category_grid',
76 + 'sidebar-4'
77 + );
78 + echo do_shortcode( '[betterdocs_category_grid ' . $attributes . ']' );
79 + ?>
80 + </div>
66 81 </aside>