← All changes
|
includes/widgets/Content_Ticker/Content_Ticker.php
+15
-10
51.1.35
→
51.1.83
View file →
| @@ -55,8 +55,10 @@ | ||
| 55 | 55 | |
| 56 | 56 | public function get_style_depends() |
| 57 | 57 | { |
| 58 | 58 | return [ |
| 59 | + // Required for Slick layout (e.g. .slick-track { display:flex; }) on frontend. | |
| 60 | + KING_ADDONS_ASSETS_UNIQUE_KEY . '-slick-helper', | |
| 59 | 61 | KING_ADDONS_ASSETS_UNIQUE_KEY . '-content-ticker-style', |
| 60 | 62 | KING_ADDONS_ASSETS_UNIQUE_KEY . '-general-general', |
| 61 | 63 | ]; |
| 62 | 64 | } |
| @@ -1856,9 +1858,9 @@ | ||
| 1856 | 1858 | } |
| 1857 | 1859 | |
| 1858 | 1860 | public function get_main_query_args() |
| 1859 | 1861 | { |
| 1860 | - $settings = $this->get_settings(); | |
| 1862 | + $settings = Core::displaySettings($this); | |
| 1861 | 1863 | $author = !empty($settings['query_author']) |
| 1862 | 1864 | ? implode(',', (array)$settings['query_author']) |
| 1863 | 1865 | : ''; |
| 1864 | 1866 | |
| @@ -1947,9 +1949,9 @@ | ||
| 1947 | 1949 | } |
| 1948 | 1950 | |
| 1949 | 1951 | public function get_tax_query_args() |
| 1950 | 1952 | { |
| 1951 | - $settings = $this->get_settings(); | |
| 1953 | + $settings = Core::displaySettings($this); | |
| 1952 | 1954 | $tax_query = []; |
| 1953 | 1955 | |
| 1954 | 1956 | // Related query uses a special approach |
| 1955 | 1957 | if ($settings['query_source'] === 'related') { |
| @@ -1980,9 +1982,9 @@ | ||
| 1980 | 1982 | } |
| 1981 | 1983 | |
| 1982 | 1984 | public function king_addons_content_ticker_dynamic() |
| 1983 | 1985 | { |
| 1984 | - $settings = $this->get_settings(); | |
| 1986 | + $settings = Core::displaySettings($this); | |
| 1985 | 1987 | $posts = new WP_Query($this->get_main_query_args()); |
| 1986 | 1988 | |
| 1987 | 1989 | if ($posts->have_posts()) : |
| 1988 | 1990 | while ($posts->have_posts()) : |
| @@ -2042,9 +2044,9 @@ | ||
| 2042 | 2044 | } |
| 2043 | 2045 | |
| 2044 | 2046 | public function king_addons_content_ticker_heading() |
| 2045 | 2047 | { |
| 2046 | - $settings = $this->get_settings(); | |
| 2048 | + $settings = Core::displaySettings($this); | |
| 2047 | 2049 | $heading_element = 'div'; |
| 2048 | 2050 | $heading_link = $settings['heading_link']['url'] ?? ''; |
| 2049 | 2051 | $this->add_render_attribute('heading_attribute', 'class', 'king-addons-ticker-heading'); |
| 2050 | 2052 | |
| @@ -2082,9 +2084,9 @@ | ||
| 2082 | 2084 | } |
| 2083 | 2085 | |
| 2084 | 2086 | public function king_addons_content_ticker_slider() |
| 2085 | 2087 | { |
| 2086 | - $settings = $this->get_settings(); | |
| 2088 | + $settings = Core::displaySettings($this); | |
| 2087 | 2089 | $slider_is_rtl = is_rtl(); |
| 2088 | 2090 | $slider_direction = $slider_is_rtl ? 'rtl' : 'ltr'; |
| 2089 | 2091 | |
| 2090 | 2092 | // Fallback for premium code |
| @@ -2095,13 +2097,16 @@ | ||
| 2095 | 2097 | // Slider options |
| 2096 | 2098 | $slider_options = [ |
| 2097 | 2099 | 'arrows' => false, |
| 2098 | 2100 | 'autoplay' => ($settings['slider_autoplay'] === 'yes'), |
| 2099 | - 'autoplaySpeed' => absint($settings['slider_autoplay_duration'] * 1000), | |
| 2101 | + 'autoplaySpeed' => absint(Core::jsNumber($settings, 'slider_autoplay_duration', 3) * 1000), | |
| 2100 | 2102 | 'infinite' => ($settings['slider_loop'] === 'yes'), |
| 2101 | - 'pauseOnHover' => $settings['slider_pause_on_hover'], | |
| 2103 | + 'pauseOnHover' => ($settings['slider_pause_on_hover'] === 'yes'), | |
| 2104 | + // Prevent Slick from pausing when slide links get focus. | |
| 2105 | + 'pauseOnFocus' => false, | |
| 2106 | + 'pauseOnDotsHover' => false, | |
| 2102 | 2107 | 'rtl' => $slider_is_rtl, |
| 2103 | - 'speed' => absint($settings['slider_effect_duration'] * 1000), | |
| 2108 | + 'speed' => absint(Core::jsNumber($settings, 'slider_effect_duration', 1) * 1000), | |
| 2104 | 2109 | ]; |
| 2105 | 2110 | |
| 2106 | 2111 | if ($settings['slider_effect'] === 'vr-slide') { |
| 2107 | 2112 | $slider_options['vertical'] = true; |
| @@ -2116,9 +2121,9 @@ | ||
| 2116 | 2121 | |
| 2117 | 2122 | $this->add_render_attribute('ticker-slider-attribute', [ |
| 2118 | 2123 | 'class' => 'king-addons-ticker-slider', |
| 2119 | 2124 | 'dir' => $slider_direction, |
| 2120 | - 'data-slick' => wp_json_encode($slider_options), | |
| 2125 | + 'data-slick-options' => wp_json_encode($slider_options), | |
| 2121 | 2126 | ]); |
| 2122 | 2127 | |
| 2123 | 2128 | if ($settings['content_gradient_position'] !== 'none') { |
| 2124 | 2129 | $this->add_render_attribute('ticker-slider-attribute', 'class', 'king-addons-ticker-gradient'); |
| @@ -2150,9 +2155,9 @@ | ||
| 2150 | 2155 | } |
| 2151 | 2156 | |
| 2152 | 2157 | protected function render() |
| 2153 | 2158 | { |
| 2154 | - $settings = $this->get_settings(); | |
| 2159 | + $settings = Core::displaySettings($this); | |
| 2155 | 2160 | ?> |
| 2156 | 2161 | <div class="king-addons-content-ticker"> |
| 2157 | 2162 | <?php |
| 2158 | 2163 | // Heading section (icon/text) if needed |