Пример #1
0
/**
 * 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;
}
Пример #2
0
            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());
 }
Пример #4
0
/**
 * 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));
}