PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | modules/components/widgets/component-instance.php +28 -1 4.0.94.3.0-beta3 View file →
@@ -3,11 +3,13 @@
3 3
4 4 use Elementor\Modules\AtomicWidgets\Elements\Base\Atomic_Widget_Base;
5 5 use Elementor\Modules\AtomicWidgets\Elements\Base\Has_Template;
6 6 use Elementor\Modules\AtomicWidgets\PropsResolver\Render_Props_Resolver;
7 +use Elementor\Modules\Components\Components_Repository;
7 8 use Elementor\Modules\Components\PropTypes\Component_Instance_Prop_Type;
8 9 use Elementor\Modules\Components\PropTypes\Overridable_Prop_Type;
9 10 use Elementor\Modules\Components\Transformers\Overridable_Transformer;
11 +use Elementor\Modules\Components\Utils\Format_Component_Elements_Id;
10 12
11 13 if ( ! defined( 'ABSPATH' ) ) {
12 14 exit; // Exit if accessed directly.
13 15 }
@@ -15,9 +17,9 @@
15 17 class Component_Instance extends Atomic_Widget_Base {
16 18 use Has_Template;
17 19
18 20 public static function get_element_type(): string {
19 - return 'e-component';
21 + return Component_Instance_Prop_Type::WIDGET_TYPE;
20 22 }
21 23
22 24 public function show_in_panel() {
23 25 return false;
@@ -98,6 +100,31 @@
98 100 $overrides[ $override['override_key'] ] = $override['override_value'];
99 101 }
100 102
101 103 return $overrides;
104 + }
105 +
106 + public function get_inner_elements_data_for_search(): array {
107 + $component_id = $this->get_component_id();
108 +
109 + if ( null === $component_id ) {
110 + return [];
111 + }
112 +
113 + $repository = new Components_Repository();
114 + $component = $repository->get( $component_id );
115 +
116 + if ( ! $component ) {
117 + return [];
118 + }
119 +
120 + $elements_data = $component->get_elements_data();
121 +
122 + return Format_Component_Elements_Id::format( $elements_data, [ $this->get_id() ] );
123 + }
124 +
125 + private function get_component_id(): ?int {
126 + $component_id = Component_Instance_Prop_Type::extract_component_id( $this->get_settings() );
127 +
128 + return null === $component_id ? null : (int) $component_id;
102 129 }
103 130 }