1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
<?php namespace Elementor\Modules\Components;
use Elementor\Core\Base\Module as BaseModule; use Elementor\Core\Experiments\Manager as Experiments_Manager; use Elementor\Modules\Components\Styles\Component_Styles; use Elementor\Modules\Components\Documents\Component as Component_Document;
if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. }
class Module extends BaseModule { const EXPERIMENT_NAME = 'e_components'; const PACKAGES = [ 'editor-components' ];
public function get_name() { return 'components'; }
public function __construct() { parent::__construct();
add_filter( 'elementor/editor/v2/packages', fn ( $packages ) => $this->add_packages( $packages ) ); add_action( 'elementor/documents/register', fn ( $documents_manager ) => $this->register_document_type( $documents_manager ) );
( new Component_Styles() )->register_hooks(); ( new Components_REST_API() )->register_hooks(); }
public static function get_experimental_data() { return [ 'name' => self::EXPERIMENT_NAME, 'title' => esc_html__( 'Components', 'elementor' ), 'description' => esc_html__( 'Enable components.', 'elementor' ), 'hidden' => true, 'default' => Experiments_Manager::STATE_INACTIVE, 'release_status' => Experiments_Manager::RELEASE_STATUS_DEV, ]; }
public function get_widgets() { return [ 'Component', ]; }
private function add_packages( $packages ) { return array_merge( $packages, self::PACKAGES ); }
private function register_document_type( $documents_manager ) { $documents_manager->register_document_type( Component_Document::TYPE, Component_Document::get_class_full_name() );
register_post_type( Component_Document::TYPE, [ 'label' => Component_Document::get_title(), 'labels' => Component_Document::get_labels(), 'public' => false, 'supports' => Component_Document::get_supported_features(), ] ); } }
|