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 | includes/Editors/Elementor/Widget/ArchiveList.php +1329 -435 3.4.0 → 4.9.3 View file →
@@ -1,11 +1,12 @@
1 1 <?php
2 2 namespace WPDeveloper\BetterDocs\Editors\Elementor\Widget;
3 3
4 4 if ( ! defined( 'ABSPATH' ) ) {
5 - exit; // Exit if accessed directly
5 + exit; // Exit if accessed directly
6 6 }
7 7
8 +use Elementor\Plugin as ElementorPlugin;
8 9 use Elementor\Controls_Manager;
9 10 use Elementor\Group_Control_Typography;
10 11 use ElementorPro\Base\Base_Widget_Trait;
11 12 use WPDeveloper\BetterDocs\Editors\Elementor\BaseWidget;
@@ -11,490 +12,1383 @@
11 12 use WPDeveloper\BetterDocs\Editors\Elementor\BaseWidget;
12 13
13 14 class ArchiveList extends BaseWidget {
14 15
15 - use Base_Widget_Trait;
16 + use Base_Widget_Trait;
16 17
17 - public function get_name() {
18 - return 'betterdocs-category-archive-list';
19 - }
18 + public function get_name() {
19 + return 'betterdocs-category-archive-list';
20 + }
20 21
21 - public function get_title() {
22 - return __( 'Doc Category Archive List', 'betterdocs' );
23 - }
22 + public function get_title() {
23 + return __( 'Doc Category Archive List', 'betterdocs' );
24 + }
24 25
25 - public function get_icon() {
26 - return 'eicon-post-list betterdocs-eicon-post-list';
27 - }
26 + public function get_icon() {
27 + return 'eicon-post-list betterdocs-eicon-post-list';
28 + }
28 29
29 - public function get_categories() {
30 - return ['betterdocs-elements', 'docs-archive'];
31 - }
30 + public function get_categories() {
31 + return [ 'betterdocs-elements', 'docs-archive' ];
32 + }
32 33
33 - public function get_style_depends() {
34 - return ['betterdocs-el-articles-list'];
35 - }
34 + public function get_style_depends() {
35 + return [ 'betterdocs-el-articles-list', 'betterdocs-fontawesome', 'betterdocs-category-archive-doc-list', 'betterdocs-pagination' ];
36 + }
36 37
37 - public function get_keywords() {
38 - return ['betterdocs-elements', 'title', 'heading', 'betterdocs', 'docs', 'doc-category', 'doc-category-archive'];
39 - }
38 + public function get_keywords() {
39 + return [ 'betterdocs-elements', 'title', 'heading', 'betterdocs', 'docs', 'doc-category', 'doc-category-archive' ];
40 + }
40 41
41 - public function get_custom_help_url() {
42 - return 'https://betterdocs.co/docs/docs-archive-in-elementor/';
43 - }
42 + public function get_custom_help_url() {
43 + return 'https://betterdocs.co/docs/docs-archive-in-elementor/';
44 + }
44 45
45 - protected function register_controls() {
46 - $this->section_content();
47 - $this->list_settings();
48 - $this->subcat_list_settings();
49 - }
46 + protected function register_controls() {
47 + $this->section_content();
48 + $this->container_wrapper_section();
49 + $this->list_settings();
50 + $this->subcat_list_settings();
50 51
51 - public function section_content() {
52 - $this->start_controls_section(
53 - 'section_title',
54 - [
55 - 'label' => __( 'Controls', 'betterdocs' )
56 - ]
57 - );
52 + $this->container_wrapper_section_layout_2();
53 + $this->list_settings_layout_2();
58 54
59 - $this->add_control(
60 - 'alphabetic_order',
61 - [
62 - 'label' => __( 'Order By', 'betterdocs' ),
63 - 'type' => Controls_Manager::SELECT,
64 - 'options' => [
65 - 'none' => __( 'No order', 'betterdocs' ),
66 - 'name' => __( 'Name', 'betterdocs' ),
67 - 'slug' => __( 'Slug', 'betterdocs' ),
68 - 'term_group' => __( 'Term Group', 'betterdocs' ),
69 - 'term_id' => __( 'Term ID', 'betterdocs' ),
70 - 'id' => __( 'ID', 'betterdocs' ),
71 - 'description' => __( 'Description', 'betterdocs' ),
72 - 'parent' => __( 'Parent', 'betterdocs' ),
73 - 'betterdocs_order' => __( 'BetterDocs Order', 'betterdocs' )
74 - ],
75 - 'default' => 'name'
76 - ]
77 - );
55 + $this->container_wrapper_section_layout_3();
56 + $this->list_settings_layout_3();
78 57
79 - $this->add_control(
80 - 'order',
81 - [
82 - 'label' => __( 'Order', 'betterdocs' ),
83 - 'type' => Controls_Manager::SELECT,
84 - 'options' => [
85 - 'asc' => 'Ascending',
86 - 'desc' => 'Descending'
87 - ],
88 - 'default' => 'asc'
58 + $this->pagination_controls();
59 + }
89 60
90 - ]
91 - );
61 + public function section_content() {
62 + $this->start_controls_section(
63 + 'section_title',
64 + [
65 + 'label' => __( 'Controls', 'betterdocs' )
66 + ]
67 + );
92 68
93 - $this->add_control(
94 - 'nested_subcategory',
95 - [
96 - 'label' => __( 'Nested Subcategory', 'betterdocs' ),
97 - 'type' => Controls_Manager::SWITCHER,
98 - 'label_on' => __( 'Show', 'betterdocs' ),
99 - 'label_off' => __( 'Hide', 'betterdocs' ),
100 - 'return_value' => '1',
101 - 'default' => '1'
102 - ]
103 - );
69 + $this->add_control(
70 + 'section_betterdocs_archive_list_layout',
71 + [
72 + 'label' => esc_html__( 'Select layout', 'betterdocs' ),
73 + 'type' => Controls_Manager::SELECT,
74 + 'default' => 'layout-1',
75 + 'label_block' => false,
76 + 'options' => [
77 + 'layout-1' => esc_html__( 'Layout 1', 'betterdocs' ),
78 + 'layout-2' => esc_html__( 'Layout 2', 'betterdocs' ),
79 + 'layout-3' => esc_html__( 'Layout 3', 'betterdocs' )
80 + ]
81 + ]
82 + );
104 83
105 - $this->add_control(
106 - 'important_note',
107 - [
108 - 'type' => Controls_Manager::RAW_HTML,
109 - 'raw' => __( 'Note: This is the preview only for Elementor Editor. You will see the real view in the archive page itself.', 'betterdocs' ),
110 - 'content_classes' => 'betterdocs-elementor-note elementor-panel-alert elementor-panel-alert-info'
111 - ]
112 - );
84 + $this->add_control(
85 + 'list_title_tag_layout_2',
86 + [
87 + 'label' => __( 'Title Tag', 'betterdocs' ),
88 + 'type' => Controls_Manager::SELECT,
89 + 'default' => 'h3',
90 + 'options' => [
91 + 'h1' => 'H1',
92 + 'h2' => 'H2',
93 + 'h3' => 'H3',
94 + 'h4' => 'H4',
95 + 'h5' => 'H5',
96 + 'h6' => 'H6',
97 + 'p' => 'P'
98 + ],
99 + 'condition' => [
100 + 'section_betterdocs_archive_list_layout' => [ 'layout-2', 'layout-3' ]
101 + ]
102 + ]
103 + );
113 104
114 - $this->end_controls_section();
115 - }
105 + $this->add_control(
106 + 'alphabetic_order',
107 + [
108 + 'label' => __( 'Order By', 'betterdocs' ),
109 + 'type' => Controls_Manager::SELECT,
110 + 'options' => [
111 + 'none' => __( 'No order', 'betterdocs' ),
112 + 'title' => __( 'Title', 'betterdocs' ),
113 + 'slug' => __( 'Slug', 'betterdocs' ),
114 + 'term_group' => __( 'Term Group', 'betterdocs' ),
115 + 'term_id' => __( 'Term ID', 'betterdocs' ),
116 + 'id' => __( 'ID', 'betterdocs' ),
117 + 'description' => __( 'Description', 'betterdocs' ),
118 + 'parent' => __( 'Parent', 'betterdocs' ),
119 + 'betterdocs_order' => __( 'BetterDocs Order', 'betterdocs' )
120 + ],
121 + 'default' => 'title'
122 + ]
123 + );
116 124
117 - public function list_settings() {
118 - /**
119 - * ----------------------------------------------------------
120 - * Section: List Settinggs
121 - * ----------------------------------------------------------
122 - */
123 - $this->start_controls_section(
124 - 'section_article_settings',
125 - [
126 - 'label' => __( 'Category List', 'betterdocs' ),
127 - 'tab' => Controls_Manager::TAB_STYLE
128 - ]
129 - );
125 + $this->add_control(
126 + 'order',
127 + [
128 + 'label' => __( 'Order', 'betterdocs' ),
129 + 'type' => Controls_Manager::SELECT,
130 + 'options' => [
131 + 'asc' => 'Ascending',
132 + 'desc' => 'Descending'
133 + ],
134 + 'default' => 'asc'
130 135
131 - $this->add_group_control(
132 - Group_Control_Typography::get_type(),
133 - [
134 - 'name' => 'list_item_typography',
135 - 'selector' => '{{WRAPPER}} .betterdocs-articles-list li a'
136 - ]
137 - );
136 + ]
137 + );
138 138
139 - $this->add_control(
140 - 'list_word_wrap',
141 - [
142 - 'label' => __( 'Word Wrap', 'betterdocs' ),
143 - 'type' => Controls_Manager::SELECT2,
144 - 'multiple' => false,
145 - 'options' => [
146 - 'normal' => 'normal',
147 - 'break-word' => 'break-word',
148 - 'initial' => 'initial',
149 - 'inherit' => 'inherit'
150 - ],
151 - 'default' => 'normal',
152 - 'selectors' => [
153 - '{{WRAPPER}} .betterdocs-articles-list li a' => 'word-wrap: {{VALUE}};'
154 - ]
155 - ]
156 - );
139 + $this->add_control(
140 + 'nested_subcategory',
141 + [
142 + 'label' => __( 'Nested Subcategory', 'betterdocs' ),
143 + 'type' => Controls_Manager::SWITCHER,
144 + 'label_on' => __( 'Show', 'betterdocs' ),
145 + 'label_off' => __( 'Hide', 'betterdocs' ),
146 + 'return_value' => '1',
147 + 'default' => '1'
148 + ]
149 + );
157 150
158 - $this->add_control(
159 - 'list_color',
160 - [
161 - 'label' => esc_html__( 'Color', 'betterdocs' ),
162 - 'type' => Controls_Manager::COLOR,
163 - 'selectors' => [
164 - '{{WRAPPER}} .betterdocs-articles-list li a' => 'color: {{VALUE}};'
165 - ]
166 - ]
167 - );
151 + $this->add_control(
152 + 'enable_pagination',
153 + [
154 + 'label' => __( 'Enable Pagination', 'betterdocs' ),
155 + 'type' => Controls_Manager::SWITCHER,
156 + 'label_on' => __( 'Show', 'betterdocs' ),
157 + 'label_off' => __( 'Hide', 'betterdocs' ),
158 + 'return_value' => 'true',
159 + 'default' => false,
160 + 'condition' => [
161 + 'section_betterdocs_archive_list_layout' => [ 'layout-1', 'layout-3' ]
162 + ]
163 + ]
164 + );
168 165
169 - $this->add_control(
170 - 'list_hover_color',
171 - [
172 - 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
173 - 'type' => Controls_Manager::COLOR,
174 - 'selectors' => [
175 - '{{WRAPPER}} .betterdocs-articles-list li a:hover' => 'color: {{VALUE}};'
176 - ]
177 - ]
178 - );
166 + $this->add_control(
167 + 'posts_per_page',
168 + [
169 + 'label' => __( 'Posts Per Page', 'betterdocs' ),
170 + 'type' => Controls_Manager::NUMBER,
171 + 'default' => 10,
172 + 'min' => 1,
173 + 'max' => 100,
174 + 'step' => 1,
175 + 'condition' => [
176 + 'enable_pagination' => 'true',
177 + 'section_betterdocs_archive_list_layout' => [ 'layout-3' ]
178 + ]
179 + ]
180 + );
179 181
180 - $this->add_responsive_control(
181 - 'list_margin',
182 - [
183 - 'label' => esc_html__( 'List Item Spacing', 'betterdocs' ),
184 - 'type' => Controls_Manager::DIMENSIONS,
185 - 'size_units' => ['px', 'em', '%'],
186 - 'selectors' => [
187 - '{{WRAPPER}} .betterdocs-articles-list li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
188 - ]
189 - ]
190 - );
182 + $this->add_control(
183 + 'important_note',
184 + [
185 + 'type' => Controls_Manager::RAW_HTML,
186 + 'raw' => __( 'Note: This is the preview only for Elementor Editor. You will see the real view in the archive page itself.', 'betterdocs' ),
187 + 'content_classes' => 'betterdocs-elementor-note elementor-panel-alert elementor-panel-alert-info'
188 + ]
189 + );
191 190
192 - $this->add_control(
193 - 'icon_settings_heading',
194 - [
195 - 'label' => esc_html__( 'List Icon', 'betterdocs' ),
196 - 'type' => Controls_Manager::HEADING,
197 - 'separator' => 'before'
198 - ]
199 - );
191 + $this->end_controls_section();
192 + }
200 193
201 - $this->add_control(
202 - 'list_icon_color',
203 - [
204 - 'label' => esc_html__( 'Color', 'betterdocs' ),
205 - 'type' => Controls_Manager::COLOR,
206 - 'selectors' => [
207 - '{{WRAPPER}} .betterdocs-articles-list li svg' => 'fill: {{VALUE}};'
208 - ]
209 - ]
210 - );
194 + public function container_wrapper_section() {
195 + $this->start_controls_section(
196 + 'archive_list_container_section',
197 + [
198 + 'label' => __( 'Container Section', 'betterdocs' ),
199 + 'tab' => Controls_Manager::TAB_STYLE,
200 + 'condition' => [
201 + 'section_betterdocs_archive_list_layout' => [ 'layout-1' ]
202 + ]
203 + ]
204 + );
211 205
212 - $this->add_responsive_control(
213 - 'list_icon_size',
214 - [
215 - 'label' => __( 'Size', 'betterdocs' ),
216 - 'type' => Controls_Manager::SLIDER,
217 - 'size_units' => ['px', '%', 'em'],
218 - 'range' => [
219 - '%' => [
220 - 'max' => 100,
221 - 'step' => 1
222 - ]
223 - ],
224 - 'selectors' => [
225 - '{{WRAPPER}} .betterdocs-articles-list li svg' => 'width: {{SIZE}}{{UNIT}};',
226 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-title svg' => 'font-size: {{SIZE}}{{UNIT}};'
227 - ]
228 - ]
229 - );
206 + $this->add_responsive_control(
207 + 'archive_list_container_padding',
208 + [
209 + 'label' => __( 'Padding', 'betterdocs' ),
210 + 'type' => Controls_Manager::DIMENSIONS,
211 + 'size_units' => [ 'px', 'em', '%' ],
212 + 'selectors' => [
213 + '{{WRAPPER}} .betterdocs-articles-list' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
214 + ]
215 + ]
216 + );
230 217
231 - $this->add_responsive_control(
232 - 'list_icon_spacing',
233 - [
234 - 'label' => esc_html__( 'Spacing', 'betterdocs' ),
235 - 'type' => Controls_Manager::DIMENSIONS,
236 - 'size_units' => ['px', 'em', '%'],
237 - 'selectors' => [
238 - '{{WRAPPER}} .betterdocs-articles-list li svg' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
239 - ]
240 - ]
241 - );
218 + $this->add_responsive_control(
219 + 'archive_list_container_margin',
220 + [
221 + 'label' => __( 'Margin', 'betterdocs' ),
222 + 'type' => Controls_Manager::DIMENSIONS,
223 + 'size_units' => [ 'px', '%', 'em' ],
224 + 'selectors' => [
225 + '{{WRAPPER}} .betterdocs-articles-list' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
226 + ]
227 + ]
228 + );
242 229
243 - $this->end_controls_section(); # end of 'Column Settings'
244 - }
230 + $this->end_controls_section();
231 + }
245 232
246 - public function subcat_list_settings() {
247 - /**
248 - * ----------------------------------------------------------
249 - * Section: List Settinggs
250 - * ----------------------------------------------------------
251 - */
252 - $this->start_controls_section(
253 - 'section_sub_category_settings',
254 - [
255 - 'label' => __( 'Sub Category', 'betterdocs' ),
256 - 'tab' => Controls_Manager::TAB_STYLE
257 - ]
258 - );
233 + public function container_wrapper_section_layout_2() {
234 + $this->start_controls_section(
235 + 'archive_list_container_section_layout_2',
236 + [
237 + 'label' => __( 'Container Section', 'betterdocs' ),
238 + 'tab' => Controls_Manager::TAB_STYLE,
239 + 'condition' => [
240 + 'section_betterdocs_archive_list_layout' => [ 'layout-2' ]
241 + ]
242 + ]
243 + );
259 244
260 - $this->add_control(
261 - 'subcat_color',
262 - [
263 - 'label' => esc_html__( 'Color', 'betterdocs' ),
264 - 'type' => Controls_Manager::COLOR,
265 - 'default' => '#3f5876',
266 - 'selectors' => [
267 - '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > a' => 'color: {{VALUE}};'
268 - ]
269 - ]
270 - );
245 + $this->add_responsive_control(
246 + 'archive_list_container_padding_layout_2',
247 + [
248 + 'label' => __( 'Padding', 'betterdocs' ),
249 + 'type' => Controls_Manager::DIMENSIONS,
250 + 'size_units' => [ 'px', 'em', '%' ],
251 + 'selectors' => [
252 + '{{WRAPPER}} .betterdocs-title-excerpt-lists' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
253 + ]
254 + ]
255 + );
271 256
272 - $this->add_control(
273 - 'subcat_hover_color',
274 - [
275 - 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
276 - 'type' => Controls_Manager::COLOR,
277 - 'default' => '#3f5876',
278 - 'selectors' => [
279 - '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > a:hover' => 'color: {{VALUE}};'
280 - ]
281 - ]
282 - );
257 + $this->add_responsive_control(
258 + 'archive_list_container_margin_layout_2',
259 + [
260 + 'label' => __( 'Margin', 'betterdocs' ),
261 + 'type' => Controls_Manager::DIMENSIONS,
262 + 'size_units' => [ 'px', '%', 'em' ],
263 + 'selectors' => [
264 + '{{WRAPPER}} .betterdocs-title-excerpt-lists' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
265 + ]
266 + ]
267 + );
283 268
284 - $this->add_responsive_control(
285 - 'subcat_font_size',
286 - [
287 - 'label' => __( 'Font Size', 'betterdocs' ),
288 - 'type' => Controls_Manager::SLIDER,
289 - 'size_units' => ['px', '%', 'em'],
290 - 'range' => [
291 - '%' => [
292 - 'max' => 100,
293 - 'step' => 1
294 - ]
295 - ],
296 - 'selectors' => [
297 - '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > a' => 'font-size: {{SIZE}}{{UNIT}};'
298 - ]
299 - ]
300 - );
269 + $this->end_controls_section();
270 + }
301 271
302 - $this->add_control(
303 - 'subcat_icon_color',
304 - [
305 - 'label' => esc_html__( 'Icon Color', 'betterdocs' ),
306 - 'type' => Controls_Manager::COLOR,
307 - 'default' => '#3f5876',
308 - 'selectors' => [
309 - '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > svg.toggle-arrow' => 'fill: {{VALUE}};'
310 - ]
311 - ]
312 - );
272 + public function list_settings() {
273 + /**
274 + * ----------------------------------------------------------
275 + * Section: List Settinggs
276 + * ----------------------------------------------------------
277 + */
278 + $this->start_controls_section(
279 + 'section_article_settings',
280 + [
281 + 'label' => __( 'Category List', 'betterdocs' ),
282 + 'tab' => Controls_Manager::TAB_STYLE,
283 + 'condition' => [
284 + 'section_betterdocs_archive_list_layout' => [ 'layout-1' ]
285 + ]
286 + ]
287 + );
313 288
314 - $this->add_responsive_control(
315 - 'subcat_icon_size',
316 - [
317 - 'label' => __( 'Icon Size', 'betterdocs' ),
318 - 'type' => Controls_Manager::SLIDER,
319 - 'size_units' => ['px', '%', 'em'],
320 - 'range' => [
321 - '%' => [
322 - 'max' => 100,
323 - 'step' => 1
324 - ]
325 - ],
326 - 'selectors' => [
327 - '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > svg.toggle-arrow' => 'font-size: {{SIZE}}{{UNIT}}; width: auto;'
328 - ]
329 - ]
330 - );
289 + $this->add_group_control(
290 + Group_Control_Typography::get_type(),
291 + [
292 + 'name' => 'list_item_typography',
293 + 'selector' => '{{WRAPPER}} .betterdocs-articles-list li a'
294 + ]
295 + );
331 296
332 - $this->add_control(
333 - 'subcategory_list_heading',
334 - [
335 - 'label' => esc_html__( 'Subcategory List', 'betterdocs' ),
336 - 'type' => Controls_Manager::HEADING,
337 - 'separator' => 'before'
338 - ]
339 - );
297 + $this->add_control(
298 + 'list_word_wrap',
299 + [
300 + 'label' => __( 'Word Wrap', 'betterdocs' ),
301 + 'type' => Controls_Manager::SELECT2,
302 + 'multiple' => false,
303 + 'options' => [
304 + 'normal' => 'normal',
305 + 'break-word' => 'break-word',
306 + 'initial' => 'initial',
307 + 'inherit' => 'inherit'
308 + ],
309 + 'default' => 'normal',
310 + 'selectors' => [
311 + '{{WRAPPER}} .betterdocs-articles-list li a' => 'word-wrap: {{VALUE}};'
312 + ]
313 + ]
314 + );
340 315
341 - $this->add_group_control(
342 - Group_Control_Typography::get_type(),
343 - [
344 - 'name' => 'subcat_list_item_typography',
345 - 'selector' => '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper) a'
346 - ]
347 - );
316 + $this->add_control(
317 + 'list_color',
318 + [
319 + 'label' => esc_html__( 'Color', 'betterdocs' ),
320 + 'type' => Controls_Manager::COLOR,
321 + 'selectors' => [
322 + '{{WRAPPER}} .betterdocs-articles-list li a' => 'color: {{VALUE}};'
323 + ]
324 + ]
325 + );
348 326
349 - $this->add_control(
350 - 'subcat_list_word_wrap',
351 - [
352 - 'label' => __( 'Word Wrap', 'betterdocs' ),
353 - 'type' => Controls_Manager::SELECT2,
354 - 'multiple' => false,
355 - 'options' => [
356 - 'normal' => 'normal',
357 - 'break-word' => 'break-word',
358 - 'initial' => 'initial',
359 - 'inherit' => 'inherit'
360 - ],
361 - 'default' => 'normal',
362 - 'selectors' => [
363 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper) a' => 'word-wrap: {{VALUE}};'
364 - ]
365 - ]
366 - );
327 + $this->add_control(
328 + 'list_hover_color',
329 + [
330 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
331 + 'type' => Controls_Manager::COLOR,
332 + 'selectors' => [
333 + '{{WRAPPER}} .betterdocs-articles-list li a:hover' => 'color: {{VALUE}};'
334 + ]
335 + ]
336 + );
367 337
368 - $this->add_control(
369 - 'subcat_list_color',
370 - [
371 - 'label' => esc_html__( 'Color', 'betterdocs' ),
372 - 'type' => Controls_Manager::COLOR,
373 - 'selectors' => [
374 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper) a' => 'color: {{VALUE}};'
375 - ]
376 - ]
377 - );
338 + $this->add_responsive_control(
339 + 'list_margin',
340 + [
341 + 'label' => esc_html__( 'List Item Spacing', 'betterdocs' ),
342 + 'type' => Controls_Manager::DIMENSIONS,
343 + 'size_units' => [ 'px', 'em', '%' ],
344 + 'selectors' => [
345 + '{{WRAPPER}} .betterdocs-articles-list li' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
346 + ]
347 + ]
348 + );
378 349
379 - $this->add_control(
380 - 'subcat_list_hover_color',
381 - [
382 - 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
383 - 'type' => Controls_Manager::COLOR,
384 - 'selectors' => [
385 - '{{WRAPPER}} .betterdocs-articles-list li:not(.betterdocs-nested-category-wrapper) a:hover' => 'color: {{VALUE}};'
386 - ]
387 - ]
388 - );
350 + $this->add_control(
351 + 'icon_settings_heading',
352 + [
353 + 'label' => esc_html__( 'List Icon', 'betterdocs' ),
354 + 'type' => Controls_Manager::HEADING,
355 + 'separator' => 'before'
356 + ]
357 + );
389 358
390 - $this->add_responsive_control(
391 - 'subcat_list_margin',
392 - [
393 - 'label' => esc_html__( 'List Item Spacing', 'betterdocs' ),
394 - 'type' => Controls_Manager::DIMENSIONS,
395 - 'size_units' => ['px', 'em', '%'],
396 - 'selectors' => [
397 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper)' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
398 - ]
399 - ]
400 - );
359 + $this->add_control(
360 + 'list_icon',
361 + [
362 + 'label' => __( 'Icon', 'betterdocs' ),
363 + 'type' => Controls_Manager::ICONS,
364 + 'default' => [
365 + 'value' => 'far fa-file-alt',
366 + 'library' => 'fa-regular'
367 + ]
368 + ]
369 + );
401 370
402 - $this->add_control(
403 - 'subcat_icon_settings_heading',
404 - [
405 - 'label' => esc_html__( 'List Icon', 'betterdocs' ),
406 - 'type' => Controls_Manager::HEADING,
407 - 'separator' => 'before'
408 - ]
409 - );
371 + $this->add_control(
372 + 'list_icon_color',
373 + [
374 + 'label' => esc_html__( 'Color', 'betterdocs' ),
375 + 'type' => Controls_Manager::COLOR,
376 + 'selectors' => [
377 + '{{WRAPPER}} .betterdocs-articles-list li svg' => 'fill: {{VALUE}};',
378 + '{{WRAPPER}} .betterdocs-articles-list li i' => 'color: {{VALUE}};'
379 + ]
380 + ]
381 + );
410 382
411 - $this->add_control(
412 - 'subcat_list_icon_color',
413 - [
414 - 'label' => esc_html__( 'Color', 'betterdocs' ),
415 - 'type' => Controls_Manager::COLOR,
416 - 'selectors' => [
417 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li svg:not(.toggle-arrow)' => 'fill: {{VALUE}};'
418 - ]
419 - ]
420 - );
383 + $this->add_responsive_control(
384 + 'list_icon_size',
385 + [
386 + 'label' => __( 'Size', 'betterdocs' ),
387 + 'type' => Controls_Manager::SLIDER,
388 + 'size_units' => [ 'px', '%', 'em' ],
389 + 'range' => [
390 + '%' => [
391 + 'max' => 100,
392 + 'step' => 1
393 + ]
394 + ],
395 + 'selectors' => [
396 + '{{WRAPPER}} .betterdocs-articles-list li svg' => 'width: {{SIZE}}{{UNIT}};',
397 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-title svg' => 'width: {{SIZE}}{{UNIT}};',
398 + '{{WRAPPER}} .betterdocs-articles-list li i' => 'font-size: {{SIZE}}{{UNIT}};',
399 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-title i' => 'font-size: {{SIZE}}{{UNIT}};',
400 + '{{WRAPPER}} .betterdocs-articles-list li img' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};',
401 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-title img' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};'
402 + ]
403 + ]
404 + );
421 405
422 - $this->add_responsive_control(
423 - 'subcat_list_icon_size',
424 - [
425 - 'label' => __( 'Size', 'betterdocs' ),
426 - 'type' => Controls_Manager::SLIDER,
427 - 'size_units' => ['px', '%', 'em'],
428 - 'range' => [
429 - '%' => [
430 - 'max' => 100,
431 - 'step' => 1
432 - ]
433 - ],
434 - 'selectors' => [
435 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li svg:not(.toggle-arrow)' => 'width: {{SIZE}}{{UNIT}};'
436 - ]
437 - ]
438 - );
406 + $this->add_responsive_control(
407 + 'list_icon_spacing',
408 + [
409 + 'label' => esc_html__( 'Spacing', 'betterdocs' ),
410 + 'type' => Controls_Manager::DIMENSIONS,
411 + 'size_units' => [ 'px', 'em', '%' ],
412 + 'default' => [
413 + 'top' => 0,
414 + 'right' => 5,
415 + 'bottom' => 0,
416 + 'left' => 0,
417 + 'unit' => 'px',
418 + 'isLinked' => false,
419 + ],
420 + 'selectors' => [
421 + '{{WRAPPER}} .betterdocs-articles-list li svg' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
422 + '{{WRAPPER}} .betterdocs-articles-list li i' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
423 + ]
424 + ]
425 + );
439 426
440 - $this->add_responsive_control(
441 - 'subcat_list_icon_spacing',
442 - [
443 - 'label' => esc_html__( 'Spacing', 'betterdocs' ),
444 - 'type' => Controls_Manager::DIMENSIONS,
445 - 'size_units' => ['px', 'em', '%'],
446 - 'selectors' => [
447 - '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li svg:not(.toggle-arrow)' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
448 - ]
449 - ]
450 - );
427 + $this->end_controls_section(); # end of 'Column Settings'
428 + }
451 429
452 - $this->end_controls_section(); # end of 'Column Settings'
453 - }
430 + public function list_settings_layout_2() {
431 + /**
432 + * ----------------------------------------------------------
433 + * Section: List Settinggs
434 + * ----------------------------------------------------------
435 + */
436 + $this->start_controls_section(
437 + 'section_article_settings_layout_2',
438 + [
439 + 'label' => __( 'Category List', 'betterdocs' ),
440 + 'tab' => Controls_Manager::TAB_STYLE,
441 + 'condition' => [
442 + 'section_betterdocs_archive_list_layout' => [ 'layout-2' ]
443 + ]
444 + ]
445 + );
454 446
455 - public function reset_attributes(){
456 - $this->attributes['orderby'] = $this->attributes['alphabetic_order'];
457 - $this->attributes['post_orderby'] = $this->attributes['alphabetic_order'];
458 - $this->attributes['post_order'] = $this->attributes['order'];
459 - }
447 + $this->add_control(
448 + 'list_color_layout_2',
449 + [
450 + 'label' => esc_html__( 'List Background Color', 'betterdocs' ),
451 + 'type' => Controls_Manager::COLOR,
452 + 'selectors' => [
453 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list' => 'background-color: {{VALUE}};'
454 + ]
455 + ]
456 + );
460 457
461 - protected function render_callback() {
462 - $this->views( 'widgets/archive-list' );
463 - }
458 + $this->add_control(
459 + 'list_hover_color_layout_2',
460 + [
461 + 'label' => esc_html__( 'List Background Hover Color', 'betterdocs' ),
462 + 'type' => Controls_Manager::COLOR,
463 + 'selectors' => [
464 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list:hover' => 'background-color: {{VALUE}};'
465 + ]
466 + ]
467 + );
464 468
465 - public function view_params() {
466 - global $wp_query;
469 + $this->add_responsive_control(
470 + 'list_margin_layout_2',
471 + [
472 + 'label' => esc_html__( 'List Item Spacing', 'betterdocs' ),
473 + 'type' => Controls_Manager::DIMENSIONS,
474 + 'size_units' => [ 'px', 'em', '%' ],
475 + 'selectors' => [
476 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
477 + ]
478 + ]
479 + );
467 480
468 - $_term_slug = '';
469 - if ( isset( $wp_query->query ) && array_key_exists( 'doc_category', $wp_query->query ) ) {
470 - $_term_slug = $wp_query->query['doc_category'];
471 - }
481 + $this->add_control(
482 + 'list_icon_layout_2',
483 + [
484 + 'label' => esc_html__( 'List Icon', 'betterdocs' ),
485 + 'type' => Controls_Manager::HEADING,
486 + 'separator' => 'before'
487 + ]
488 + );
472 489
473 - $term = get_term_by( 'slug', $_term_slug, 'doc_category' );
490 + $this->add_responsive_control(
491 + 'list_icon_layout_2_size',
492 + [
493 + 'label' => __( 'Size', 'betterdocs' ),
494 + 'type' => Controls_Manager::SLIDER,
495 + 'size_units' => [ 'px', '%', 'em' ],
496 + 'range' => [
497 + '%' => [
498 + 'max' => 100,
499 + 'step' => 1
500 + ]
501 + ],
502 + 'selectors' => [
503 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .betterdocs-entry-title span' => 'width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};'
504 + ]
505 + ]
506 + );
474 507
475 - $_docs_query = [
476 - 'term_id' => isset( $term->term_id ) ? $term->term_id : 0,
477 - 'orderby' => $this->attributes['alphabetic_order'],
478 - 'order' => $this->attributes['order'],
479 - 'kb_slug' => '',
480 - 'posts_per_page' => $term == false ? 5 : -1,
481 - 'term_slug' => isset( $term->slug ) ? $term->slug : ''
482 - ];
508 + $this->add_control(
509 + 'list_title_layout_2',
510 + [
511 + 'label' => esc_html__( 'List Title', 'betterdocs' ),
512 + 'type' => Controls_Manager::HEADING,
513 + 'separator' => 'before'
514 + ]
515 + );
483 516
484 - return [
485 - 'term' => $term,
486 - 'nested_subcategory' => (bool) $this->attributes['nested_subcategory'],
487 - 'query_args' => betterdocs()->query->docs_query_args( $_docs_query ),
488 - 'nested_docs_query_args' => [
489 - 'orderby' => $this->attributes['alphabetic_order'],
490 - 'order' => $this->attributes['order']
491 - ],
492 - 'nested_terms_query' => [
493 - 'orderby' => $this->attributes['alphabetic_order'],
494 - 'order' => $this->attributes['order']
495 - ]
496 - ];
497 - }
517 + $this->add_group_control(
518 + Group_Control_Typography::get_type(),
519 + [
520 + 'name' => 'list_title_typography_layout_2',
521 + 'selector' => '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .betterdocs-entry-title a'
522 + ]
523 + );
498 524
499 - public function render_plain_content() {}
525 + $this->add_control(
526 + 'list_title_word_wrap_layout_2',
527 + [
528 + 'label' => __( 'Word Wrap', 'betterdocs' ),
529 + 'type' => Controls_Manager::SELECT2,
530 + 'multiple' => false,
531 + 'options' => [
532 + 'normal' => 'normal',
533 + 'break-word' => 'break-word',
534 + 'initial' => 'initial',
535 + 'inherit' => 'inherit'
536 + ],
537 + 'default' => 'normal',
538 + 'selectors' => [
539 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .betterdocs-entry-title a' => 'word-wrap: {{VALUE}};'
540 + ]
541 + ]
542 + );
543 +
544 + $this->add_control(
545 + 'list_title_color_layout_2',
546 + [
547 + 'label' => esc_html__( 'Color', 'betterdocs' ),
548 + 'type' => Controls_Manager::COLOR,
549 + 'selectors' => [
550 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .betterdocs-entry-title a' => 'color: {{VALUE}};'
551 + ]
552 + ]
553 + );
554 + $this->add_control(
555 + 'list_title_hover_color_layout_2',
556 + [
557 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
558 + 'type' => Controls_Manager::COLOR,
559 + 'selectors' => [
560 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .betterdocs-entry-title a:hover' => 'color: {{VALUE}};'
561 + ]
562 + ]
563 + );
564 +
565 + $this->add_control(
566 + 'list_excerpt_title',
567 + [
568 + 'label' => esc_html__( 'List Excerpt', 'betterdocs' ),
569 + 'type' => Controls_Manager::HEADING,
570 + 'separator' => 'before'
571 + ]
572 + );
573 +
574 + $this->add_control(
575 + 'list_excerpt_color',
576 + [
577 + 'label' => esc_html__( 'Color', 'betterdocs' ),
578 + 'type' => Controls_Manager::COLOR,
579 + 'selectors' => [
580 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p' => 'color: {{VALUE}};'
581 + ]
582 + ]
583 + );
584 +
585 + $this->add_control(
586 + 'list_excerpt_hover_color',
587 + [
588 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
589 + 'type' => Controls_Manager::COLOR,
590 + 'selectors' => [
591 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p:hover' => 'color: {{VALUE}};'
592 + ]
593 + ]
594 + );
595 +
596 + $this->add_control(
597 + 'list_excerpt_color_hover',
598 + [
599 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
600 + 'type' => Controls_Manager::COLOR,
601 + 'selectors' => [
602 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p:hover' => 'color: {{VALUE}};'
603 + ]
604 + ]
605 + );
606 +
607 + $this->add_group_control(
608 + Group_Control_Typography::get_type(),
609 + [
610 + 'name' => 'list_excerpt_typography',
611 + 'selector' => '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p'
612 + ]
613 + );
614 +
615 + $this->add_control(
616 + 'list_excerpt_last_update_time_title',
617 + [
618 + 'label' => esc_html__( 'List Updated Time', 'betterdocs' ),
619 + 'type' => Controls_Manager::HEADING,
620 + 'separator' => 'before'
621 + ]
622 + );
623 +
624 + $this->add_control(
625 + 'list_excerpt_last_update_time_color',
626 + [
627 + 'label' => esc_html__( 'Color', 'betterdocs' ),
628 + 'type' => Controls_Manager::COLOR,
629 + 'selectors' => [
630 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date' => 'color: {{VALUE}};'
631 + ]
632 + ]
633 + );
634 +
635 + $this->add_control(
636 + 'list_excerpt_last_update_time_hover_color',
637 + [
638 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
639 + 'type' => Controls_Manager::COLOR,
640 + 'selectors' => [
641 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date:hover' => 'color: {{VALUE}};'
642 + ]
643 + ]
644 + );
645 +
646 + $this->add_control(
647 + 'list_excerpt_last_update_time_background_color',
648 + [
649 + 'label' => esc_html__( 'Background Color', 'betterdocs' ),
650 + 'type' => Controls_Manager::COLOR,
651 + 'selectors' => [
652 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date' => 'background-color: {{VALUE}};'
653 + ]
654 + ]
655 + );
656 +
657 + $this->add_control(
658 + 'list_excerpt_last_update_time_background_color_hover',
659 + [
660 + 'label' => esc_html__( 'Background Hover Color', 'betterdocs' ),
661 + 'type' => Controls_Manager::COLOR,
662 + 'selectors' => [
663 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date:hover' => 'background-color: {{VALUE}};'
664 + ]
665 + ]
666 + );
667 +
668 + $this->add_group_control(
669 + Group_Control_Typography::get_type(),
670 + [
671 + 'name' => 'list_excerpt_last_update_time_typography',
672 + 'selector' => '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date'
673 + ]
674 + );
675 +
676 + $this->end_controls_section(); # end of 'Column Settings'
677 + }
678 +
679 + public function pagination_controls() {
680 + $this->start_controls_section(
681 + 'section_common_pagination',
682 + [
683 + 'label' => __( 'Pagination', 'betterdocs' ),
684 + 'tab' => Controls_Manager::TAB_STYLE
685 + ]
686 + );
687 +
688 + $this->add_responsive_control(
689 + 'pagination_margin',
690 + [
691 + 'label' => __( 'Margin', 'betterdocs' ),
692 + 'type' => Controls_Manager::DIMENSIONS,
693 + 'size_units' => [ 'px', '%', 'em' ],
694 + 'selectors' => [
695 + '{{WRAPPER}} .betterdocs-pagination' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
696 + ]
697 + ]
698 + );
699 +
700 + $this->add_responsive_control(
701 + 'pagination_padding',
702 + [
703 + 'label' => __( 'Padding', 'betterdocs' ),
704 + 'type' => Controls_Manager::DIMENSIONS,
705 + 'size_units' => [ 'px', '%', 'em' ],
706 + 'selectors' => [
707 + '{{WRAPPER}} .betterdocs-pagination' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
708 + ]
709 + ]
710 + );
711 +
712 + $this->add_responsive_control(
713 + 'pagination_alignment',
714 + [
715 + 'label' => __( 'Pagination Alignment', 'betterdocs' ),
716 + 'type' => Controls_Manager::CHOOSE,
717 + 'options' => [
718 + 'start' => [
719 + 'title' => __( 'Left', 'betterdocs' ),
720 + 'icon' => 'fa fa-align-left'
721 + ],
722 + 'center' => [
723 + 'title' => __( 'Center', 'betterdocs' ),
724 + 'icon' => 'fa fa-align-center'
725 + ],
726 + 'end' => [
727 + 'title' => __( 'Right', 'betterdocs' ),
728 + 'icon' => 'fa fa-align-right'
729 + ]
730 + ],
731 + 'selectors' => [
732 + '{{WRAPPER}} .betterdocs-pagination ul' => 'justify-content: {{VALUE}};'
733 + ]
734 + ]
735 + );
736 +
737 + $this->add_responsive_control(
738 + 'pagination_height',
739 + [
740 + 'label' => __( 'Height', 'betterdocs' ),
741 + 'type' => Controls_Manager::SLIDER,
742 + 'size_units' => [ 'px', '%', 'em' ],
743 + 'range' => [
744 + '%' => [
745 + 'max' => 100,
746 + 'step' => 1
747 + ]
748 + ],
749 + 'selectors' => [
750 + '{{WRAPPER}} .betterdocs-pagination ul li a' => 'height: {{SIZE}}{{UNIT}};'
751 + ]
752 + ]
753 + );
754 +
755 + $this->add_responsive_control(
756 + 'pagination_width',
757 + [
758 + 'label' => __( 'Width', 'betterdocs' ),
759 + 'type' => Controls_Manager::SLIDER,
760 + 'size_units' => [ 'px', '%', 'em' ],
761 + 'range' => [
762 + '%' => [
763 + 'max' => 100,
764 + 'step' => 1
765 + ]
766 + ],
767 + 'selectors' => [
768 + '{{WRAPPER}} .betterdocs-pagination ul li a' => 'width: {{SIZE}}{{UNIT}};'
769 + ]
770 + ]
771 + );
772 +
773 + $this->add_control(
774 + 'pagination_background_color',
775 + [
776 + 'label' => esc_html__( 'Background Color', 'betterdocs' ),
777 + 'type' => Controls_Manager::COLOR,
778 + 'selectors' => [
779 + '{{WRAPPER}} .betterdocs-pagination ul li a' => 'background-color: {{VALUE}};'
780 + ]
781 + ]
782 + );
783 +
784 + $this->add_control(
785 + 'pagination_color',
786 + [
787 + 'label' => esc_html__( 'Color', 'betterdocs' ),
788 + 'type' => Controls_Manager::COLOR,
789 + 'selectors' => [
790 + '{{WRAPPER}} .betterdocs-pagination ul li a' => 'color: {{VALUE}};'
791 + ]
792 + ]
793 + );
794 +
795 + $this->add_control(
796 + 'pagination_border_color',
797 + [
798 + 'label' => esc_html__( 'Active Border Color', 'betterdocs' ),
799 + 'type' => Controls_Manager::COLOR,
800 + 'selectors' => [
801 + '{{WRAPPER}} .betterdocs-pagination ul li.active a' => 'border-color: {{VALUE}};'
802 + ]
803 + ]
804 + );
805 +
806 + $this->add_group_control(
807 + Group_Control_Typography::get_type(),
808 + [
809 + 'name' => 'pagination_typography',
810 + 'selector' => '{{WRAPPER}} .betterdocs-pagination ul li a'
811 + ]
812 + );
813 +
814 + $this->end_controls_section();
815 + }
816 +
817 + public function subcat_list_settings() {
818 + /**
819 + * ----------------------------------------------------------
820 + * Section: List Settinggs
821 + * ----------------------------------------------------------
822 + */
823 + $this->start_controls_section(
824 + 'section_list_title_layout_2',
825 + [
826 + 'label' => __( 'List Title', 'betterdocs' ),
827 + 'tab' => Controls_Manager::TAB_STYLE,
828 + 'condition' => [
829 + 'section_betterdocs_archive_list_layout' => [ 'layout-1' ]
830 + ]
831 + ]
832 + );
833 +
834 + $this->add_control(
835 + 'subcat_color',
836 + [
837 + 'label' => esc_html__( 'Color', 'betterdocs' ),
838 + 'type' => Controls_Manager::COLOR,
839 + 'default' => '#3f5876',
840 + 'selectors' => [
841 + '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > a' => 'color: {{VALUE}};'
842 + ]
843 + ]
844 + );
845 +
846 + $this->add_control(
847 + 'subcat_hover_color',
848 + [
849 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
850 + 'type' => Controls_Manager::COLOR,
851 + 'default' => '#3f5876',
852 + 'selectors' => [
853 + '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > a:hover' => 'color: {{VALUE}};'
854 + ]
855 + ]
856 + );
857 +
858 + $this->add_responsive_control(
859 + 'subcat_font_size',
860 + [
861 + 'label' => __( 'Font Size', 'betterdocs' ),
862 + 'type' => Controls_Manager::SLIDER,
863 + 'size_units' => [ 'px', '%', 'em' ],
864 + 'range' => [
865 + '%' => [
866 + 'max' => 100,
867 + 'step' => 1
868 + ]
869 + ],
870 + 'selectors' => [
871 + '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > a' => 'font-size: {{SIZE}}{{UNIT}};'
872 + ]
873 + ]
874 + );
875 +
876 + $this->add_control(
877 + 'subcat_icon_color',
878 + [
879 + 'label' => esc_html__( 'Icon Color', 'betterdocs' ),
880 + 'type' => Controls_Manager::COLOR,
881 + 'default' => '#3f5876',
882 + 'selectors' => [
883 + '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > svg.toggle-arrow' => 'fill: {{VALUE}};'
884 + ]
885 + ]
886 + );
887 +
888 + $this->add_responsive_control(
889 + 'subcat_icon_size',
890 + [
891 + 'label' => __( 'Icon Size', 'betterdocs' ),
892 + 'type' => Controls_Manager::SLIDER,
893 + 'size_units' => [ 'px', '%', 'em' ],
894 + 'range' => [
895 + '%' => [
896 + 'max' => 100,
897 + 'step' => 1
898 + ]
899 + ],
900 + 'selectors' => [
901 + '{{WRAPPER}} .betterdocs-articles-list li .betterdocs-nested-category-title > svg.toggle-arrow' => 'font-size: {{SIZE}}{{UNIT}}; width: auto;'
902 + ]
903 + ]
904 + );
905 +
906 + $this->add_control(
907 + 'subcategory_list_heading',
908 + [
909 + 'label' => esc_html__( 'Subcategory List', 'betterdocs' ),
910 + 'type' => Controls_Manager::HEADING,
911 + 'separator' => 'before'
912 + ]
913 + );
914 +
915 + $this->add_group_control(
916 + Group_Control_Typography::get_type(),
917 + [
918 + 'name' => 'subcat_list_item_typography',
919 + 'selector' => '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper) a'
920 + ]
921 + );
922 +
923 + $this->add_control(
924 + 'subcat_list_word_wrap',
925 + [
926 + 'label' => __( 'Word Wrap', 'betterdocs' ),
927 + 'type' => Controls_Manager::SELECT2,
928 + 'multiple' => false,
929 + 'options' => [
930 + 'normal' => 'normal',
931 + 'break-word' => 'break-word',
932 + 'initial' => 'initial',
933 + 'inherit' => 'inherit'
934 + ],
935 + 'default' => 'normal',
936 + 'selectors' => [
937 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper) a' => 'word-wrap: {{VALUE}};'
938 + ]
939 + ]
940 + );
941 +
942 + $this->add_control(
943 + 'subcat_list_color',
944 + [
945 + 'label' => esc_html__( 'Color', 'betterdocs' ),
946 + 'type' => Controls_Manager::COLOR,
947 + 'selectors' => [
948 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper) a' => 'color: {{VALUE}};'
949 + ]
950 + ]
951 + );
952 +
953 + $this->add_control(
954 + 'subcat_list_hover_color',
955 + [
956 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
957 + 'type' => Controls_Manager::COLOR,
958 + 'selectors' => [
959 + '{{WRAPPER}} .betterdocs-articles-list li:not(.betterdocs-nested-category-wrapper) a:hover' => 'color: {{VALUE}};'
960 + ]
961 + ]
962 + );
963 +
964 + $this->add_responsive_control(
965 + 'subcat_list_margin',
966 + [
967 + 'label' => esc_html__( 'List Item Spacing', 'betterdocs' ),
968 + 'type' => Controls_Manager::DIMENSIONS,
969 + 'size_units' => [ 'px', 'em', '%' ],
970 + 'selectors' => [
971 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li:not(.betterdocs-nested-category-wrapper)' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
972 + ]
973 + ]
974 + );
975 +
976 + $this->add_control(
977 + 'subcat_icon_settings_heading',
978 + [
979 + 'label' => esc_html__( 'List Icon', 'betterdocs' ),
980 + 'type' => Controls_Manager::HEADING,
981 + 'separator' => 'before'
982 + ]
983 + );
984 +
985 + $this->add_control(
986 + 'subcat_list_icon_color',
987 + [
988 + 'label' => esc_html__( 'Color', 'betterdocs' ),
989 + 'type' => Controls_Manager::COLOR,
990 + 'selectors' => [
991 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li svg:not(.toggle-arrow)' => 'fill: {{VALUE}};'
992 + ]
993 + ]
994 + );
995 +
996 + $this->add_responsive_control(
997 + 'subcat_list_icon_size',
998 + [
999 + 'label' => __( 'Size', 'betterdocs' ),
1000 + 'type' => Controls_Manager::SLIDER,
1001 + 'size_units' => [ 'px', '%', 'em' ],
1002 + 'range' => [
1003 + '%' => [
1004 + 'max' => 100,
1005 + 'step' => 1
1006 + ]
1007 + ],
1008 + 'selectors' => [
1009 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li svg:not(.toggle-arrow)' => 'width: {{SIZE}}{{UNIT}};'
1010 + ]
1011 + ]
1012 + );
1013 +
1014 + $this->add_responsive_control(
1015 + 'subcat_list_icon_spacing',
1016 + [
1017 + 'label' => esc_html__( 'Spacing', 'betterdocs' ),
1018 + 'type' => Controls_Manager::DIMENSIONS,
1019 + 'size_units' => [ 'px', 'em', '%' ],
1020 + 'selectors' => [
1021 + '{{WRAPPER}} .betterdocs-articles-list .betterdocs-nested-category-list li svg:not(.toggle-arrow)' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1022 + ]
1023 + ]
1024 + );
1025 +
1026 + $this->end_controls_section(); # end of 'Column Settings'
1027 + }
1028 +
1029 + public function container_wrapper_section_layout_3() {
1030 + $this->start_controls_section(
1031 + 'archive_list_container_section_layout_3',
1032 + [
1033 + 'label' => __( 'Container Section', 'betterdocs' ),
1034 + 'tab' => Controls_Manager::TAB_STYLE,
1035 + 'condition' => [
1036 + 'section_betterdocs_archive_list_layout' => [ 'layout-3' ]
1037 + ]
1038 + ]
1039 + );
1040 +
1041 + $this->add_responsive_control(
1042 + 'archive_list_container_padding_layout_3',
1043 + [
1044 + 'label' => __( 'Padding', 'betterdocs' ),
1045 + 'type' => Controls_Manager::DIMENSIONS,
1046 + 'size_units' => [ 'px', 'em', '%' ],
1047 + 'selectors' => [
1048 + '{{WRAPPER}} .betterdocs-title-excerpt-lists' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1049 + ]
1050 + ]
1051 + );
1052 +
1053 + $this->add_responsive_control(
1054 + 'archive_list_container_margin_layout_3',
1055 + [
1056 + 'label' => __( 'Margin', 'betterdocs' ),
1057 + 'type' => Controls_Manager::DIMENSIONS,
1058 + 'size_units' => [ 'px', 'em', '%' ],
1059 + 'selectors' => [
1060 + '{{WRAPPER}} .betterdocs-title-excerpt-lists' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1061 + ]
1062 + ]
1063 + );
1064 +
1065 + $this->end_controls_section();
1066 + }
1067 +
1068 + public function list_settings_layout_3() {
1069 + /**
1070 + * ----------------------------------------------------------
1071 + * Section: List Settings Layout 3
1072 + * ----------------------------------------------------------
1073 + */
1074 + $this->start_controls_section(
1075 + 'section_article_settings_layout_3',
1076 + [
1077 + 'label' => __( 'Category List', 'betterdocs' ),
1078 + 'tab' => Controls_Manager::TAB_STYLE,
1079 + 'condition' => [
1080 + 'section_betterdocs_archive_list_layout' => [ 'layout-3' ]
1081 + ]
1082 + ]
1083 + );
1084 +
1085 + $this->add_control(
1086 + 'list_color_layout_3',
1087 + [
1088 + 'label' => esc_html__( 'List Background Color', 'betterdocs' ),
1089 + 'type' => Controls_Manager::COLOR,
1090 + 'selectors' => [
1091 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list' => 'background-color: {{VALUE}};'
1092 + ]
1093 + ]
1094 + );
1095 +
1096 + $this->add_control(
1097 + 'list_hover_color_layout_3',
1098 + [
1099 + 'label' => esc_html__( 'List Background Color Hover', 'betterdocs' ),
1100 + 'type' => Controls_Manager::COLOR,
1101 + 'default' => '#f6fef9',
1102 + 'selectors' => [
1103 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list:hover' => 'background-color: {{VALUE}};'
1104 + ]
1105 + ]
1106 + );
1107 +
1108 + $this->add_responsive_control(
1109 + 'list_margin_layout_3',
1110 + [
1111 + 'label' => esc_html__( 'List Item Spacing', 'betterdocs' ),
1112 + 'type' => Controls_Manager::DIMENSIONS,
1113 + 'size_units' => [ 'px', 'em', '%' ],
1114 + 'selectors' => [
1115 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1116 + ]
1117 + ]
1118 + );
1119 +
1120 + $this->add_responsive_control(
1121 + 'list_padding_layout_3',
1122 + [
1123 + 'label' => esc_html__( 'List Area Padding', 'betterdocs' ),
1124 + 'type' => Controls_Manager::DIMENSIONS,
1125 + 'allowed_dimensions' => 'vertical',
1126 + 'size_units' => [ 'px', 'em', '%' ],
1127 + 'selectors' => [
1128 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list' => 'padding-top: {{TOP}}{{UNIT}}; padding-bottom: {{BOTTOM}}{{UNIT}};'
1129 + ]
1130 + ]
1131 + );
1132 +
1133 + $this->add_control(
1134 + 'list_title_layout_3',
1135 + [
1136 + 'label' => esc_html__( 'List Title', 'betterdocs' ),
1137 + 'type' => Controls_Manager::HEADING,
1138 + 'separator' => 'before'
1139 + ]
1140 + );
1141 +
1142 + $this->add_control(
1143 + 'list_title_color_layout_3',
1144 + [
1145 + 'label' => esc_html__( 'Color', 'betterdocs' ),
1146 + 'type' => Controls_Manager::COLOR,
1147 + 'selectors' => [
1148 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list h2 a' => 'color: {{VALUE}};'
1149 + ]
1150 + ]
1151 + );
1152 +
1153 + $this->add_control(
1154 + 'list_title_hover_color_layout_3',
1155 + [
1156 + 'label' => esc_html__( 'Hover Color', 'betterdocs' ),
1157 + 'type' => Controls_Manager::COLOR,
1158 + 'selectors' => [
1159 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list h2 a:hover' => 'color: {{VALUE}};'
1160 + ]
1161 + ]
1162 + );
1163 +
1164 + $this->add_group_control(
1165 + Group_Control_Typography::get_type(),
1166 + [
1167 + 'name' => 'list_title_typography_layout_3',
1168 + 'selector' => '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list h2'
1169 + ]
1170 + );
1171 +
1172 + $this->add_responsive_control(
1173 + 'list_title_margin_layout_3',
1174 + [
1175 + 'label' => esc_html__( 'Title Margin', 'betterdocs' ),
1176 + 'type' => Controls_Manager::DIMENSIONS,
1177 + 'size_units' => [ 'px', 'em', '%' ],
1178 + 'selectors' => [
1179 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list h2' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1180 + ]
1181 + ]
1182 + );
1183 +
1184 + $this->add_responsive_control(
1185 + 'list_title_padding_layout_3',
1186 + [
1187 + 'label' => esc_html__( 'Title Padding', 'betterdocs' ),
1188 + 'type' => Controls_Manager::DIMENSIONS,
1189 + 'size_units' => [ 'px', 'em', '%' ],
1190 + 'selectors' => [
1191 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list h2' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1192 + ]
1193 + ]
1194 + );
1195 +
1196 + $this->add_control(
1197 + 'list_excerpt_layout_3',
1198 + [
1199 + 'label' => esc_html__( 'List Excerpt', 'betterdocs' ),
1200 + 'type' => Controls_Manager::HEADING,
1201 + 'separator' => 'before'
1202 + ]
1203 + );
1204 +
1205 + $this->add_control(
1206 + 'list_excerpt_color_layout_3',
1207 + [
1208 + 'label' => esc_html__( 'Color', 'betterdocs' ),
1209 + 'type' => Controls_Manager::COLOR,
1210 + 'selectors' => [
1211 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p' => 'color: {{VALUE}};'
1212 + ]
1213 + ]
1214 + );
1215 +
1216 + $this->add_group_control(
1217 + Group_Control_Typography::get_type(),
1218 + [
1219 + 'name' => 'list_excerpt_typography_layout_3',
1220 + 'selector' => '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p'
1221 + ]
1222 + );
1223 +
1224 + $this->add_responsive_control(
1225 + 'list_excerpt_margin_layout_3',
1226 + [
1227 + 'label' => esc_html__( 'Excerpt Margin', 'betterdocs' ),
1228 + 'type' => Controls_Manager::DIMENSIONS,
1229 + 'size_units' => [ 'px', 'em', '%' ],
1230 + 'selectors' => [
1231 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1232 + ]
1233 + ]
1234 + );
1235 +
1236 + $this->add_responsive_control(
1237 + 'list_excerpt_padding_layout_3',
1238 + [
1239 + 'label' => esc_html__( 'Excerpt Padding', 'betterdocs' ),
1240 + 'type' => Controls_Manager::DIMENSIONS,
1241 + 'size_units' => [ 'px', 'em', '%' ],
1242 + 'selectors' => [
1243 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list p' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1244 + ]
1245 + ]
1246 + );
1247 +
1248 + $this->add_control(
1249 + 'list_date_layout_3',
1250 + [
1251 + 'label' => esc_html__( 'Last Updated Date', 'betterdocs' ),
1252 + 'type' => Controls_Manager::HEADING,
1253 + 'separator' => 'before'
1254 + ]
1255 + );
1256 +
1257 + $this->add_control(
1258 + 'list_date_color_layout_3',
1259 + [
1260 + 'label' => esc_html__( 'Color', 'betterdocs' ),
1261 + 'type' => Controls_Manager::COLOR,
1262 + 'selectors' => [
1263 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date' => 'color: {{VALUE}};'
1264 + ]
1265 + ]
1266 + );
1267 +
1268 + $this->add_group_control(
1269 + Group_Control_Typography::get_type(),
1270 + [
1271 + 'name' => 'list_date_typography_layout_3',
1272 + 'selector' => '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date'
1273 + ]
1274 + );
1275 +
1276 + $this->add_responsive_control(
1277 + 'list_date_margin_layout_3',
1278 + [
1279 + 'label' => esc_html__( 'Date Margin', 'betterdocs' ),
1280 + 'type' => Controls_Manager::DIMENSIONS,
1281 + 'size_units' => [ 'px', 'em', '%' ],
1282 + 'selectors' => [
1283 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1284 + ]
1285 + ]
1286 + );
1287 +
1288 + $this->add_responsive_control(
1289 + 'list_date_padding_layout_3',
1290 + [
1291 + 'label' => esc_html__( 'Date Padding', 'betterdocs' ),
1292 + 'type' => Controls_Manager::DIMENSIONS,
1293 + 'size_units' => [ 'px', 'em', '%' ],
1294 + 'selectors' => [
1295 + '{{WRAPPER}} .betterdocs-title-excerpt-lists .betterdocs-title-excerpt-list .update-date' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1296 + ]
1297 + ]
1298 + );
1299 +
1300 + $this->end_controls_section();
1301 + }
1302 +
1303 + public function reset_attributes() {
1304 + $this->attributes['orderby'] = $this->attributes['alphabetic_order'];
1305 + $this->attributes['post_orderby'] = $this->attributes['alphabetic_order'];
1306 + $this->attributes['post_order'] = $this->attributes['order'];
1307 + }
1308 +
1309 + protected function render_callback() {
1310 + $this->views( 'widgets/archive-list' );
1311 + }
1312 +
1313 + public function view_params() {
1314 + global $wp_query;
1315 +
1316 + $_term_slug = '';
1317 + if ( isset( $wp_query->query ) && array_key_exists( 'doc_category', $wp_query->query ) ) {
1318 + $_term_slug = $wp_query->query['doc_category'];
1319 + }
1320 +
1321 + $term = get_term_by( 'slug', $_term_slug, 'doc_category' );
1322 +
1323 + // Fix orderby mapping for proper sorting
1324 + $orderby = $this->attributes['alphabetic_order'];
1325 + if ( $orderby == 'slug' ) {
1326 + $orderby = 'name';
1327 + } else {
1328 + $orderby = $this->attributes['alphabetic_order'];
1329 + }
1330 +
1331 +
1332 + $_docs_query = [
1333 + 'term_id' => isset( $term->term_id ) ? $term->term_id : 0,
1334 + 'orderby' => $orderby,
1335 + 'order' => $this->attributes['order'],
1336 + 'postsOrderBy' => $orderby,
1337 + 'postsOrder' => $this->attributes['order'],
1338 + 'kb_slug' => '',
1339 + 'posts_per_page' => $term == false ? 5 : -1,
1340 + 'term_slug' => isset( $term->slug ) ? $term->slug : ''
1341 + ];
1342 +
1343 + $term_params = [
1344 + 'term' => $term,
1345 + 'list_icon_url' => '',
1346 + 'nested_subcategory' => (bool) $this->attributes['nested_subcategory'],
1347 + 'list_icon_name' => $this->attributes['list_icon'],
1348 + 'query_args' => betterdocs()->query->docs_query_args( $_docs_query ),
1349 + 'nested_docs_query_args' => [
1350 + 'orderby' => $orderby,
1351 + 'order' => $this->attributes['order']
1352 + ],
1353 + 'nested_terms_query' => [
1354 + 'orderby' => $orderby,
1355 + 'order' => $this->attributes['order']
1356 + ],
1357 + 'layout_type' => 'widget',
1358 + 'archive_layout' => $this->attributes['section_betterdocs_archive_list_layout']
1359 + ];
1360 +
1361 + if ( $this->attributes['section_betterdocs_archive_list_layout'] == 'layout-2' || $this->attributes['section_betterdocs_archive_list_layout'] == 'layout-3' ) {
1362 + $docs_list_title_tag = $this->attributes['list_title_tag_layout_2'];
1363 +
1364 + // Extend the base params rather than replacing them, so the nesting
1365 + // keys built above (nested_subcategory, nested_terms_query,
1366 + // nested_docs_query_args, list_icon_name, list_icon_url, layout_type)
1367 + // survive for Layout 2/3 and their templates can render nested
1368 + // subcategories the way Layout 1 does. Previously this branch
1369 + // overwrote $term_params wholesale, dropping every nesting key.
1370 + $term_params['current_category'] = $term;
1371 + $term_params['orderby'] = $orderby;
1372 + $term_params['order'] = $this->attributes['order'];
1373 + $term_params['posts_per_page'] = -1;
1374 + $term_params['docs_list_title_tag'] = $docs_list_title_tag;
1375 + }
1376 +
1377 + if ( $this->attributes['enable_pagination'] ) { //pass page variable in query args if pagination is enabled
1378 + $page = get_query_var( 'paged' ) != '' ? get_query_var( 'paged' ) : 1;
1379 + $posts_per_page = isset( $this->attributes['posts_per_page'] ) ? $this->attributes['posts_per_page'] : 10;
1380 +
1381 + $term_params['query_args']['paged'] = $page;
1382 + $term_params['query_args']['posts_per_page'] = $posts_per_page;
1383 + $term_params['page'] = $page;
1384 + $term_params['posts_per_page'] = $posts_per_page;
1385 + $term_params['pagination'] = $this->attributes['enable_pagination'];
1386 + }
1387 +
1388 + $term_params['edit_mode'] = ElementorPlugin::instance()->editor->is_edit_mode();
1389 +
1390 + return $term_params;
1391 + }
1392 +
1393 + public function render_plain_content() {}
500 1394 }