PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 2.0.14
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v2.0.14
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 / includes / elementor / betterdocs-archive-condition.php

betterdocs-archive-condition.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 2.0.14, at includes/elementor/betterdocs-archive-condition.php

63 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 use ElementorPro\Modules\ThemeBuilder as ThemeBuilder;
4 use ElementorPro\Modules\Woocommerce\Conditions\Docs_Page;
5
6 if (!defined('ABSPATH')) {
7 exit; // Exit if accessed directly
8 }
9
10 class Betterdocs_Archive_Condition extends ThemeBuilder\Conditions\Condition_Base
11 {
12 private $post_type = 'docs';
13 private $post_taxonomies;
14
15 public function __construct(array $data = [])
16 {
17 $taxonomies = get_object_taxonomies($this->post_type, 'objects');
18
19 $this->post_taxonomies = wp_filter_object_list($taxonomies, [
20 'public' => true,
21 'show_in_nav_menus' => true,
22 ]);
23
24 parent::__construct($data);
25 }
26
27 public static function get_type()
28 {
29 return 'archive';
30 }
31
32 public function get_name()
33 {
34 return 'doc_archive';
35 }
36
37 public function get_label()
38 {
39 return __('Docs Archive', 'betterdocs');
40 }
41
42 public function get_all_label()
43 {
44 return __('All Docs Archive', 'betterdocs');
45 }
46
47 public function register_sub_conditions()
48 {
49 $this->register_sub_condition(new Docs_Page());
50 foreach ($this->post_taxonomies as $slug => $object) {
51 $condition = new ThemeBuilder\Conditions\Taxonomy([
52 'object' => $object,
53 ]);
54 $this->register_sub_condition($condition);
55 }
56 }
57
58 public function check($args)
59 {
60 return is_post_type_archive('docs') || is_archive('knowledge_base') || is_archive('doc_category') || is_archive('doc_tag');
61 }
62 }
63