| @@ -60,8 +60,12 @@ | ||
| 60 | 60 | 'docs_per_page' => -1, |
| 61 | 61 | 'postsOrderBy' => 'title', |
| 62 | 62 | 'postsOrder' => 'asc', |
| 63 | 63 | 'enableNestedSubcategory' => false, |
| 64 | + // Default follows the global "Lazy Load Sidebar Docs & Subcategories" | |
| 65 | + // setting, mirroring the Elementor sidebar widget's control default, so | |
| 66 | + // enabling the setting lazy-loads the block too unless overridden. | |
| 67 | + 'enableLazyLoad' => (bool) betterdocs()->settings->get( 'archive_lazy_load_descendants' ), | |
| 64 | 68 | 'docs_per_subcategory' => 10, |
| 65 | 69 | 'titleTag' => 'h1', |
| 66 | 70 | 'show_count' => false, |
| 67 | 71 | 'enableStickyTOC' => false, |
| @@ -127,10 +131,9 @@ | ||
| 127 | 131 | 'terms_orderby' => $settings['terms_orderby'] == 'doc_category_order' ? 'betterdocs_order' : $settings['terms_orderby'], |
| 128 | 132 | 'terms_include' => array_diff( $this->string_to_array( $settings['includeCategories'] ), $this->string_to_array( $settings['excludeCategories'] ) ), |
| 129 | 133 | 'terms_exclude' => isset( $settings['excludeCategories'] ) ? $this->string_to_array( $settings['excludeCategories'] ) : '', |
| 130 | 134 | 'nested_subcategory' => $settings['enableNestedSubcategory'], |
| 131 | - 'multiple_knowledge_base' => $default_multiple_kb, | |
| 132 | - 'kb_slug' => $kb_slug, | |
| 135 | + 'lazy_load' => ! empty( $settings['enableLazyLoad'] ), | |
| 133 | 136 | 'sidebar_list' => true, |
| 134 | 137 | 'list_icon_url' => '', |
| 135 | 138 | 'list_icon_name' => $settings['sidebar_layout'] == 'layout-4' ? '' : ( ! empty( $this->attributes['listIconImageUrl'] ) ? $this->attributes['listIconImageUrl'] : ( ! empty( $this->attributes['listIcon'] ) ? $this->attributes['listIcon'] : ( ! empty( betterdocs()->settings->get( 'docs_list_icon' ) ) ? betterdocs()->settings->get( 'docs_list_icon' )['url'] : 'list' ) ) ), |
| 136 | 139 | 'layout_type' => 'block', |
| @@ -148,8 +151,17 @@ | ||
| 148 | 151 | $default_view_params['number_of_faqs'] = $settings['initialFAQQueryNumber']; |
| 149 | 152 | $default_view_params['faq_term_ids'] = $settings['searchModalQueriesFaqGroupIds']; |
| 150 | 153 | $default_view_params['doc_ids'] = $settings['searchModalQueryDocIds']; |
| 151 | 154 | $default_view_params['doc_term_ids'] = $settings['searchModalQueryTermIds']; |
| 155 | + } | |
| 156 | + | |
| 157 | + // Pass a KB scope only when one is explicitly selected on the block. When none is | |
| 158 | + // set, omit kb_slug so the betterdocs_sidebar_template_shortcode_params filter | |
| 159 | + // (Pro/MKB) can inject the current knowledge_base context on KB templates — the | |
| 160 | + // same path the default sidebar uses. (Passing kb_slug='' would block injection.) | |
| 161 | + if ( ! empty( $kb_slug ) ) { | |
| 162 | + $default_view_params['shortcode_attr']['kb_slug'] = $kb_slug; | |
| 163 | + $default_view_params['shortcode_attr']['multiple_knowledge_base'] = (bool) $default_multiple_kb; | |
| 152 | 164 | } |
| 153 | 165 | |
| 154 | 166 | return $default_view_params; |
| 155 | 167 | } |