| @@ -158,8 +158,9 @@ | ||
| 158 | 158 | $this->add_group_control( |
| 159 | 159 | Group_Control_Image_Size::get_type(), |
| 160 | 160 | [ |
| 161 | 161 | 'name' => 'primary_thumbnail', |
| 162 | + // phpcs:ignore WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude -- Elementor widget query built from user-configured controls; expected behaviour. | |
| 162 | 163 | 'exclude' => ['custom'], |
| 163 | 164 | 'default' => 'full', |
| 164 | 165 | ] |
| 165 | 166 | ); |
| @@ -320,10 +321,13 @@ | ||
| 320 | 321 | |
| 321 | 322 | $this->add_control( |
| 322 | 323 | 'pauseonhover', |
| 323 | 324 | [ |
| 324 | - 'label' => esc_html__('Pause on Hover', 'ultimate-post-kit'), | |
| 325 | - 'type' => Controls_Manager::SWITCHER, | |
| 325 | + 'label' => esc_html__('Pause on Hover', 'ultimate-post-kit'), | |
| 326 | + 'type' => Controls_Manager::SWITCHER, | |
| 327 | + 'condition' => [ | |
| 328 | + 'autoplay' => 'yes', | |
| 329 | + ], | |
| 326 | 330 | ] |
| 327 | 331 | ); |
| 328 | 332 | |
| 329 | 333 | $this->add_control( |
| @@ -915,9 +919,10 @@ | ||
| 915 | 919 | if (!$this->get_settings('show_title')) { |
| 916 | 920 | return; |
| 917 | 921 | } |
| 918 | 922 | |
| 919 | - printf('<%1$s class="upk-title"><a href="%2$s" title="%3$s">%3$s</a></%1$s>', esc_attr(Utils::get_valid_html_tag($settings['title_tags'])), esc_url( get_permalink() ), esc_html( get_the_title() )); | |
| 923 | + $title = get_the_title(); | |
| 924 | + printf('<%1$s class="upk-title"><a href="%2$s" title="%4$s">%3$s</a></%1$s>', esc_attr(Utils::get_valid_html_tag($settings['title_tags'])), esc_url( get_permalink() ), esc_html( $title ), esc_attr( $title )); | |
| 920 | 925 | } |
| 921 | 926 | |
| 922 | 927 | public function render_excerpt($excerpt_length) { |
| 923 | 928 | |
| @@ -930,9 +935,9 @@ | ||
| 930 | 935 | <?php |
| 931 | 936 | if (has_excerpt()) { |
| 932 | 937 | the_excerpt(); |
| 933 | 938 | } else { |
| 934 | - echo ultimate_post_kit_custom_excerpt($excerpt_length, $strip_shortcode); | |
| 939 | + echo wp_kses_post( ultimate_post_kit_custom_excerpt($excerpt_length, $strip_shortcode) ); | |
| 935 | 940 | } |
| 936 | 941 | ?> |
| 937 | 942 | </div> |
| 938 | 943 | |
| @@ -945,9 +950,9 @@ | ||
| 945 | 950 | return; |
| 946 | 951 | } |
| 947 | 952 | ?> |
| 948 | 953 | <div class="upk-category" data-swiper-parallax="-300"> |
| 949 | - <?php echo get_the_category_list(' '); ?> | |
| 954 | + <?php echo wp_kses_post( get_the_category_list(' ') ); ?> | |
| 950 | 955 | </div> |
| 951 | 956 | <?php |
| 952 | 957 | } |
| 953 | 958 | |
| @@ -1100,9 +1105,9 @@ | ||
| 1100 | 1105 | <div class="upk-date-comments"> |
| 1101 | 1106 | <?php $this->render_date(); ?> |
| 1102 | 1107 | |
| 1103 | 1108 | <?php if ($settings['show_comments']) : ?> |
| 1104 | - <div data-separator="<?php echo esc_html($settings['meta_separator']); ?>"> | |
| 1109 | + <div data-separator="<?php echo esc_attr($settings['meta_separator']); ?>"> | |
| 1105 | 1110 | <?php $this->render_comments($post_id); ?> |
| 1106 | 1111 | </div> |
| 1107 | 1112 | <?php endif; ?> |
| 1108 | 1113 | |
| @@ -1107,9 +1112,9 @@ | ||
| 1107 | 1112 | <?php endif; ?> |
| 1108 | 1113 | |
| 1109 | 1114 | <?php if (_is_upk_pro_activated()) : |
| 1110 | 1115 | if ('yes' === $settings['show_reading_time']) : ?> |
| 1111 | - <div class="upk-reading-time" data-separator="<?php echo esc_html($settings['meta_separator']); ?>"> | |
| 1116 | + <div class="upk-reading-time" data-separator="<?php echo esc_attr($settings['meta_separator']); ?>"> | |
| 1112 | 1117 | <?php echo esc_html( ultimate_post_kit_reading_time(get_the_content(), $settings['avg_reading_speed'], $settings['hide_seconds'] ?? 'no', $settings['hide_minutes'] ?? 'no') ); ?> |
| 1113 | 1118 | </div> |
| 1114 | 1119 | <?php endif; ?> |
| 1115 | 1120 | <?php endif; ?> |
| @@ -1189,8 +1194,9 @@ | ||
| 1189 | 1194 | </div> |
| 1190 | 1195 | </div> |
| 1191 | 1196 | <?php |
| 1192 | 1197 | if (_is_upk_pro_activated()) { |
| 1198 | + // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound -- established hook name relied on across the plugin family; renaming would break integration. | |
| 1193 | 1199 | apply_filters('show_top_stories', $this); |
| 1194 | 1200 | } |
| 1195 | 1201 | ?> |
| 1196 | 1202 | |