PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.5.2
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.5.2
3.7.5 3.7.4 3.7.3 3.7.2 1-final 3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4 3.6.3 3.6.2 3.6.1 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 All 111 releases
← All changes | includes/Core/Platform/Elementor.php +37 -3 3.1.03.5.2 View file →
@@ -94,8 +94,12 @@
94 94 }
95 95 }
96 96
97 97 public function get_saved_templates( $params = [] ) {
98 + if ( ! function_exists( 'is_plugin_active' ) ){
99 + require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
100 + }
101 +
98 102 $_page_number = isset( $params['page'] ) ? intval( $params['page'] ) : 1;
99 103
100 104 $args = [
101 105 'post_type' => 'elementor_library',
@@ -128,11 +132,13 @@
128 132 wp_reset_postdata();
129 133 wp_reset_query();
130 134
131 135 return array(
132 - 'current_page' => $templates->query_vars['paged'],
133 - 'total_page' => $templates->max_num_pages,
134 - 'items' => $templateList,
136 + 'current_page' => $templates->query_vars['paged'],
137 + 'total_page' => $templates->max_num_pages,
138 + 'items' => $templateList,
139 + 'has_elementor' => rest_sanitize_boolean( \is_plugin_active( 'elementor/elementor.php' ) ),
140 + 'has_elementor_pro' => rest_sanitize_boolean( \is_plugin_active( 'elementor-pro/elementor-pro.php' ) ),
135 141 );
136 142 }
137 143
138 144 private function get_export_link( $template_id ) {
@@ -322,6 +328,34 @@
322 328 public function insert( $data ) {
323 329 $importer = new ElementorImporter();
324 330
325 331 return $importer->get_data( $data );
332 + }
333 +
334 + /**
335 + * Filter Child Type
336 + *
337 + * @param $child_type
338 + * @param $element_data
339 + * @param $element
340 + *
341 + * @return mixed
342 + */
343 + public static function filter_child_type( $child_type, $element_data, $element ) {
344 + // Fix for Elementor Pro Promotion Widget
345 + if ( is_a( $element, 'Elementor\Modules\Promotions\Widgets\Pro_Widget_Promotion' ) || ( is_object( $element ) && 'pro-promotion' === $element->get_name() ) ) {
346 + $el_types = array_keys( Plugin::$instance->elements_manager->get_element_types() );
347 +
348 + if ( isset( $element_data['elType'] ) && in_array( $element_data['elType'], $el_types, true ) ) {
349 + return Plugin::$instance->elements_manager->get_element_types( $element_data['elType'] );
350 + }
351 +
352 + if ( ! isset( $element_data['widgetType'] ) ) {
353 + return null;
354 + }
355 +
356 + return Plugin::$instance->widgets_manager->get_widget_types( $element_data['widgetType'] );
357 + }
358 +
359 + return $child_type;
326 360 }
327 361 }