PluginProbe
Ultimate Post Kit – Elementor Post Grid, Post Carousel, Post Slider & Blog Layout Widgets / 4.5.6
Ultimate Post Kit – Elementor Post Grid, Post Carousel, Post Slider & Blog Layout Widgets v4.5.6
4.5.6 4.5.5 4.5.4 4.2.1 4.2.2 4.2.3 4.5.0 4.5.2 4.5.3 4.2.0 4.1.18 4.1.17 4.1.16 4.1.15 4.1.14 4.1.13 4.1.12 4.1.11 4.1.10 4.1.9 4.1.8 4.0.9 4.1.0 4.1.1 4.1.2 All 148 releases
← All changes | modules/alex-carousel/widgets/alex-carousel.php +21 -13 4.1.2 → 4.5.6 View file →
@@ -148,8 +148,9 @@
148 148 $this->add_group_control(
149 149 Group_Control_Image_Size::get_type(),
150 150 [
151 151 'name' => 'primary_thumbnail',
152 + // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude -- Elementor widget query built from user-configured controls; expected behaviour.
152 153 'exclude' => ['custom'],
153 154 'default' => 'medium',
154 155 ]
155 156 );
@@ -198,8 +199,11 @@
198 199 ],
199 200 'default' => [
200 201 'size' => 6,
201 202 ],
203 + 'condition' => [
204 + 'posts_source!' => 'current_query',
205 + ]
202 206 ]
203 207 );
204 208
205 209 $this->register_query_builder_controls();
@@ -376,9 +380,9 @@
376 380 [
377 381 'label' => esc_html__('Glass Morphism', 'ultimate-post-kit'),
378 382 'type' => Controls_Manager::SWITCHER,
379 383 // translators: %1s: Opening anchor tag with link to MDN backdrop-filter documentation, %2s: Closing anchor tag
380 - 'description' => sprintf(__('This feature will not work in the Firefox browser untill you enable browser compatibility so please %1s look here %2s', 'ultimate-post-kit'), '<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility" target="_blank">', '</a>'),
384 + 'description' => sprintf(__('This feature will not work in the Firefox browser untill you enable browser compatibility so please %1$s look here %2$s', 'ultimate-post-kit'), '<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility" target="_blank">', '</a>'),
381 385 'default' => 'yes',
382 386 ]
383 387 );
384 388
@@ -861,9 +865,9 @@
861 865 [
862 866 'label' => esc_html__('Color', 'ultimate-post-kit'),
863 867 'type' => Controls_Manager::COLOR,
864 868 'selectors' => [
865 - '{{WRAPPER}} .upk-alex-carousel .upk-readmore .upk-readmore-icon:before, {{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore .upk-readmore-icon span:before, {{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore .upk-readmore-icon span:after' => 'background: {{VALUE}};',
869 + '{{WRAPPER}} .upk-alex-carousel .upk-readmore .upk-readmore-icon:before, {{WRAPPER}} .upk-alex-carousel .upk-readmore .upk-readmore-icon span:before, {{WRAPPER}} .upk-alex-carousel .upk-readmore .upk-readmore-icon span:after' => 'background: {{VALUE}};',
866 870 ],
867 871 ]
868 872 );
869 873
@@ -932,9 +936,9 @@
932 936 [
933 937 'label' => esc_html__('Color', 'ultimate-post-kit'),
934 938 'type' => Controls_Manager::COLOR,
935 939 'selectors' => [
936 - '{{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore .upk-readmore-icon:before, {{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore .upk-readmore-icon span:before, {{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore .upk-readmore-icon span:after' => 'background: {{VALUE}};',
940 + '{{WRAPPER}} .upk-alex-carousel .upk-readmore:hover .upk-readmore-icon:before, {{WRAPPER}} .upk-alex-carousel .upk-readmore:hover .upk-readmore-icon span:before, {{WRAPPER}} .upk-alex-carousel .upk-readmore:hover .upk-readmore-icon span:after' => 'background: {{VALUE}};',
937 941 ],
938 942 ]
939 943 );
940 944
@@ -941,9 +945,9 @@
941 945 $this->add_group_control(
942 946 Group_Control_Background::get_type(),
943 947 [
944 948 'name' => 'readmore_hover_background',
945 - 'selector' => '{{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore',
949 + 'selector' => '{{WRAPPER}} .upk-alex-carousel .upk-readmore:hover',
946 950 ]
947 951 );
948 952
949 953 $this->add_control(
@@ -951,9 +955,9 @@
951 955 [
952 956 'label' => esc_html__('Border Color', 'ultimate-post-kit'),
953 957 'type' => Controls_Manager::COLOR,
954 958 'selectors' => [
955 - '{{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore' => 'border-color: {{VALUE}};',
959 + '{{WRAPPER}} .upk-alex-carousel .upk-readmore:hover' => 'border-color: {{VALUE}};',
956 960 ],
957 961 'condition' => [
958 962 'readmore_border_border!' => ''
959 963 ]
@@ -963,9 +967,9 @@
963 967 $this->add_group_control(
964 968 Group_Control_Box_Shadow::get_type(),
965 969 [
966 970 'name' => 'readmore_hover_shadow',
967 - 'selector' => '{{WRAPPER}} .upk-alex-carousel .upk-item:hover .upk-readmore',
971 + 'selector' => '{{WRAPPER}} .upk-alex-carousel .upk-readmore:hover',
968 972 ]
969 973 );
970 974
971 975 $this->end_controls_tab();
@@ -1237,9 +1241,9 @@
1237 1241 [
1238 1242 'label' => esc_html__('Glassmorphism', 'ultimate-post-kit'),
1239 1243 'type' => Controls_Manager::SWITCHER,
1240 1244 // translators: %1s: Opening anchor tag with link to MDN backdrop-filter documentation, %2s: Closing anchor tag
1241 - 'description' => sprintf(__('This feature will not work in the Firefox browser untill you enable browser compatibility so please %1s look here %2s', 'ultimate-post-kit'), '<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility" target="_blank">', '</a>'),
1245 + 'description' => sprintf(__('This feature will not work in the Firefox browser untill you enable browser compatibility so please %1$s look here %2$s', 'ultimate-post-kit'), '<a href="https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility" target="_blank">', '</a>'),
1242 1246 'default' => 'yes',
1243 1247 'separator' => 'before'
1244 1248 ]
1245 1249 );
@@ -1273,8 +1277,9 @@
1273 1277 [
1274 1278 'name' => 'post_format_background',
1275 1279 'label' => esc_html__('Background', 'ultimate-post-kit'),
1276 1280 'types' => ['classic', 'gradient'],
1281 + // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude -- Elementor widget query built from user-configured controls; expected behaviour.
1277 1282 'exclude' => ['image'],
1278 1283 'selector' => '{{WRAPPER}} .upk-alex-carousel .upk-post-format a',
1279 1284 'fields_options' => [
1280 1285 'background' => [
@@ -1364,9 +1369,8 @@
1364 1369 $default = $this->getGroupControlQueryArgs();
1365 1370 $args = [];
1366 1371 if ($posts_per_page) {
1367 1372 $args['posts_per_page'] = $posts_per_page;
1368 - // $args['paged'] = max(1, get_query_var('paged'), get_query_var('page'));
1369 1373 }
1370 1374 $args = array_merge($default, $args);
1371 1375 $this->_query = new WP_Query($args);
1372 1376 }
@@ -1413,9 +1417,9 @@
1413 1417 <?php endif; ?>
1414 1418
1415 1419 <div class="upk-flex upk-flex-middle upk-date-reading-wrap">
1416 1420 <?php if ('yes' === $settings['show_date']) : ?>
1417 - <div data-separator="<?php echo esc_html($settings['meta_separator']); ?>">
1421 + <div data-separator="<?php echo esc_attr($settings['meta_separator']); ?>">
1418 1422 <?php $this->render_date(); ?>
1419 1423 </div>
1420 1424 <?php endif; ?>
1421 1425
@@ -1420,9 +1424,9 @@
1420 1424 <?php endif; ?>
1421 1425
1422 1426 <?php if (_is_upk_pro_activated()) :
1423 1427 if ('yes' === $settings['show_reading_time']) : ?>
1424 - <div class="upk-reading-time" data-separator="<?php echo esc_html($settings['meta_separator']); ?>">
1428 + <div class="upk-reading-time" data-separator="<?php echo esc_attr($settings['meta_separator']); ?>">
1425 1429 <?php echo esc_html( ultimate_post_kit_reading_time( get_the_content(), $settings['avg_reading_speed'], $settings['hide_seconds'] ?? 'no', $settings['hide_minutes'] ?? 'no' ) ); ?>
1426 1430 </div>
1427 1431 <?php endif; ?>
1428 1432 <?php endif; ?>
@@ -1440,9 +1444,9 @@
1440 1444 $this->render_header_attribute('alex');
1441 1445
1442 1446 ?>
1443 1447 <div <?php $this->print_render_attribute_string('carousel'); ?>>
1444 - <div class="upk-alex-wrap upk-content-<?php echo esc_html($settings['content_position']) ?>">
1448 + <div class="upk-alex-wrap upk-content-<?php echo esc_attr($settings['content_position']) ?>">
1445 1449 <div <?php $this->print_render_attribute_string('swiper'); ?>>
1446 1450 <div class="swiper-wrapper">
1447 1451 <?php
1448 1452 }
@@ -1450,10 +1454,14 @@
1450 1454 public function render_post_grid_item($post_id, $image_size) {
1451 1455 $settings = $this->get_settings_for_display();
1452 1456
1453 1457 if ('yes' == $settings['global_link']) {
1454 -
1455 - $this->add_render_attribute('grid-item', 'onclick', "window.open('" . esc_url(get_permalink()) . "', '_self')", true);
1458 + $this->add_render_attribute(
1459 + 'grid-item',
1460 + 'onclick',
1461 + sprintf( "window.open('%s', '_self')", esc_js( esc_url( get_permalink() ) ) ),
1462 + true
1463 + );
1456 1464 }
1457 1465
1458 1466 $this->add_render_attribute('grid-item', 'class', 'upk-item swiper-slide', true);
1459 1467