PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 3.4.0
ShopBuilder – WooCommerce Builder For Elementor v3.4.0
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
← All changes | app/Abstracts/AdditionalQueryCustomLayout.php +23 -9 2.1.03.4.0 View file →
@@ -77,10 +77,8 @@
77 77 $this->widget_query()
78 78 )
79 79 );
80 80
81 - unset( $fields['grid_style'] );
82 -
83 81 return $fields;
84 82 }
85 83
86 84 /**
@@ -105,11 +103,12 @@
105 103 unset( $content_visibility['show_title']['separator'] );
106 104
107 105 $sections = array_merge(
108 106 $content_visibility,
107 + Controls\SettingsFields::content_ordering( $this ),
108 + Controls\SettingsFields::section_title( $this ),
109 109 Controls\SettingsFields::image( $this ),
110 110 Controls\SettingsFields::action_buttons( $this ),
111 - Controls\SettingsFields::section_title( $this ),
112 111 Controls\SettingsFields::product_title( $this ),
113 112 Controls\SettingsFields::product_excerpt( $this ),
114 113 Controls\SettingsFields::badges( $this ),
115 114 $this->variation_swatch_conditionaly(),
@@ -124,16 +123,24 @@
124 123 */
125 124 protected function widget_layout() {
126 125 return Controls\LayoutFields::grid_layout( $this );
127 126 }
127 +
128 + /**
129 + * Controls for layout tab
130 + *
131 + * @return array
132 + */
128 133 public function variation_swatch_conditionaly() {
129 - if ( ! function_exists( 'rtwpvsp' ) ) {
134 + if ( ! function_exists( 'rtwpvsp' ) && ! rtsb()->has_pro() ) {
130 135 return [];
131 136 }
132 - $swatches_controls = Controls\SettingsFields::variation_swatch( $this );
133 - $swatches_controls['swatch_position']['condition'] = [
134 - 'layout' => [ 'grid-layout1' ],
135 - ];
137 + $swatches_controls = Controls\SettingsFields::variation_swatch( $this );
138 + if ( ! empty( $swatches_controls['swatch_position'] ) ) {
139 + $swatches_controls['swatch_position']['condition'] = [
140 + 'layout' => [ 'grid-layout1' ],
141 + ];
142 + }
136 143 return $swatches_controls;
137 144 }
138 145 /**
139 146 * Controls for layout tab
@@ -145,8 +152,13 @@
145 152 $additional_query['posts_limit']['separator'] = 'default';
146 153 return $additional_query;
147 154 }
148 155
156 + /**
157 + * Controls for style tab
158 + *
159 + * @return array
160 + */
149 161 protected function pagination_navigation() {
150 162 return Controls\StyleFields::pagination( $this );
151 163 }
152 164
@@ -171,8 +183,9 @@
171 183 Controls\StyleFields::product_add_to_cart( $this ),
172 184 Controls\StyleFields::product_wishlist( $this ),
173 185 Controls\StyleFields::product_quick_view( $this ),
174 186 Controls\StyleFields::product_compare( $this ),
187 + Controls\StyleFields::action_buttons( $this ),
175 188 Controls\StyleFields::product_badges( $this ),
176 189 $this->pagination_navigation(),
177 190 Controls\StyleFields::hover_icon_button( $this )
178 191 ),
@@ -182,9 +195,9 @@
182 195
183 196 /**
184 197 * Widget Field
185 198 *
186 - * @return void|array
199 + * @return string
187 200 */
188 201 protected function render_template_file() {
189 202 return 'elementor/general/grid/';
190 203 }
@@ -215,8 +228,9 @@
215 228 if ( $this->is_builder_mode() ) {
216 229 add_filter( 'wp_kses_allowed_html', [ FilterHooks::class, 'custom_wpkses_post_tags' ], 10, 2 );
217 230 }
218 231
232 + // Call the template rendering method.
219 233 Fns::print_html( Render::instance()->setup_loop_for_product_view( $this->render_template_file(), $settings, $this ), true );
220 234
221 235 $this->action_button_icon_set_default();
222 236 $this->render_end();