/** * Add jQuery Stickup to theme script dependencies if required. * * @param array $depends Default dependencies. * @return array */ function king_news_enqueue_misc($depends) { $header_menu_sticky = get_theme_mod('header_menu_sticky', king_news_theme()->customizer->get_default('header_menu_sticky')); if ($header_menu_sticky && !wp_is_mobile()) { $depends[] = 'jquery-stickup'; } $totop_visibility = get_theme_mod('totop_visibility', king_news_theme()->customizer->get_default('totop_visibility')); if ($totop_visibility) { $depends[] = 'jquery-totop'; } return $depends; }
return self::$instance; } } } /** * Returns instanse of main theme configuration class * * @return object */ function king_news_theme() { return King_News_Theme_Setup::get_instance(); } /** * Returns trimmed title * * @return title */ function king_news_get_short_title($maxchar = 10) { $title = get_the_title(); if (iconv_strlen($title, 'utf-8') < $maxchar) { return $title; } $title = iconv_substr($title, 0, $maxchar, 'utf-8'); $title = preg_replace('@(.*)\\s[^\\s]*$@s', '\\1...', $title); // remove the last word, because it is in 99% of cases of incomplete return $title; } king_news_theme();
/** * widget function. * * @see WP_Widget * * @since 1.0.0 * @param array $args * @param array $instance */ public function widget($args, $instance) { if ($this->get_cached_widget($args)) { return; } ob_start(); $this->setup_widget_data($args, $instance); $this->widget_start($args, $instance); /** * Filter the array of default settings. * * @since 1.0.0 * @param array options. * @param array The 'the_slider_items' function argument. */ $default_settings = apply_filters('king_news_carousel_default_settings', array()); // Widgets area check if ('sidebar-primary' == $args['id'] || 'sidebar-secondary' == $args['id']) { $this->instance['slides_per_view'] = 1; $this->instance['slides_per_group'] = 1; $this->instance['slides_per_column'] = 1; } $footer_widget_columns = get_theme_mod('footer_widget_columns', king_news_theme()->customizer->get_default('footer_widget_columns')); if ('footer-area' == $args['id'] && ('2' == $footer_widget_columns || '3' == $footer_widget_columns || '4' == $footer_widget_columns)) { $this->instance['slides_per_view'] = 1; $this->instance['slides_per_group'] = 1; $this->instance['slides_per_column'] = 1; } $instance = uniqid(); $data_attr_line = 'class="king_news-carousel swiper-container"'; $data_attr_line .= ' data-uniq-id="swiper-carousel-' . $instance . '"'; $data_attr_line .= ' data-slides-per-view="' . $this->instance['slides_per_view'] . '"'; $data_attr_line .= ' data-slides-per-group="' . $this->instance['slides_per_group'] . '"'; $data_attr_line .= ' data-slides-per-column="' . $this->instance['slides_per_column'] . '"'; $data_attr_line .= ' data-space-between-slides="' . $this->instance['space_between_slides'] . '"'; $data_attr_line .= ' data-duration-speed="' . $this->instance['duration_speed'] . '"'; $data_attr_line .= ' data-swiper-loop="false"'; $data_attr_line .= ' data-free-mode="false"'; $data_attr_line .= ' data-grab-cursor="true"'; $data_attr_line .= ' data-mouse-wheel="false"'; $swiper_pagination_html = 'true' == $this->instance['pagination'] ? '<div id="swiper-carousel-' . $instance . '-pagination" class="swiper-pagination"></div>' : ''; $swiper_navigation_html = 'true' == $this->instance['navigation'] ? '<div id="swiper-carousel-' . $instance . '-next" class="swiper-button-next button-next"><i class="material-icons">navigate_next</i></div><div id="swiper-carousel-' . $instance . '-prev" class="swiper-button-prev button-prev"><i class="material-icons">navigate_before</i></div>' : ''; $categories_array = isset($this->instance['categories']) ? $this->instance['categories'] : array(); $tags_array = isset($this->instance['tags']) ? $this->instance['tags'] : array(); $tax_query = array(); if ('category' == $this->instance['terms_type']) { if (is_array($categories_array) && !empty($categories_array)) { array_push($tax_query, array('taxonomy' => 'category', 'field' => 'slug', 'terms' => $categories_array)); } } else { if (is_array($tags_array) && !empty($tags_array)) { array_push($tax_query, array('taxonomy' => 'post_tag', 'field' => 'slug', 'terms' => $tags_array)); } } // The Query. $posts_query = $this->get_query_slider_items(array('posts_per_page' => $this->instance['posts_per_page'], 'tax_query' => $tax_query)); $html = ''; if ($posts_query) { echo '<div class="swiper-carousel-container">'; echo '<div id="swiper-carousel-' . $instance . '" ' . $data_attr_line . '>'; echo '<div class="swiper-wrapper">'; echo $this->get_carousel_slider_loop($posts_query); echo '</div>'; echo $swiper_pagination_html; echo '</div>'; echo $swiper_navigation_html; echo '</div>'; } $this->widget_end($args); $this->reset_widget_data(); wp_reset_postdata(); echo $this->cache_widget($args, ob_get_clean()); }
/** * Print boxed or fullwidth conainer class * * @return void */ function king_news_layout_wrap() { $layout = get_theme_mod('page_layout_type', king_news_theme()->customizer->get_default('page_layout_type')); printf('%s-wrap', esc_attr($layout)); }