PluginProbe
Elementor Website Builder – more than just a page builder / 4.1.3
Elementor Website Builder – more than just a page builder v4.1.3
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 4.0.7 All 451 releases
← All changes | modules/components/widgets/component-instance.php +31 -0 4.0.84.1.3 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 }
@@ -98,6 +100,35 @@
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 + $settings = $this->get_settings();
127 +
128 + if ( ! isset( $settings['component_instance']['value']['component_id']['value'] ) ) {
129 + return null;
130 + }
131 +
132 + return (int) $settings['component_instance']['value']['component_id']['value'];
102 133 }
103 134 }