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
betterdocs / includes / Editors / Elementor / Conditions / ArchiveCondition.php

ArchiveCondition.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.3, at includes/Editors/Elementor/Conditions/ArchiveCondition.php

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