Пример #1
0
function avia_woocommerce_after_shop_loop()
{
    global $avia_config;
    if (isset($avia_config['dynamic_template'])) {
        return;
    }
    if (isset($avia_config['overview'])) {
        echo avia_pagination('', 'nav');
    }
    echo "</div></main>";
    //end content
}
Пример #2
0
 public function html()
 {
     global $woocommerce, $woocommerce_loop;
     $output = "";
     global $avia_config;
     $output = "";
     avia_post_slider::$slide++;
     extract($this->atts);
     $extraClass = 'first';
     $grid = 'one_third';
     $image_size = 'portfolio';
     $post_loop_count = 1;
     $loop_counter = 1;
     $autoplay = $autoplay == "no" ? false : true;
     $total = $columns % 2 ? "odd" : "even";
     $woocommerce_loop['columns'] = $columns;
     switch ($columns) {
         case "1":
             $grid = 'av_fullwidth';
             $image_size = 'large';
             break;
         case "2":
             $grid = 'av_one_half';
             break;
         case "3":
             $grid = 'av_one_third';
             break;
         case "4":
             $grid = 'av_one_fourth';
             $image_size = 'portfolio_small';
             break;
         case "5":
             $grid = 'av_one_fifth';
             $image_size = 'portfolio_small';
             break;
     }
     $data = AviaHelper::create_data_string(array('autoplay' => $autoplay, 'interval' => $interval, 'animation' => $animation, 'hoverpause' => 1));
     ob_start();
     if (have_posts()) {
         echo "<div {$data} class='template-shop avia-content-slider avia-content-{$type}-active avia-content-slider" . avia_post_slider::$slide . " avia-content-slider-{$total} {$class} shop_columns_{$columns}' >";
         if ($sort == "dropdown") {
             avia_woocommerce_frontend_search_params();
         }
         echo "<div class='avia-content-slider-inner'>";
         if ($type == 'grid') {
             echo '<ul class="products">';
         }
         while (have_posts()) {
             the_post();
             if ($loop_counter == 1 && $type == 'slider') {
                 echo '<ul class="products slide-entry-wrap">';
             }
             woocommerce_get_template_part('content', 'product');
             $loop_counter++;
             $post_loop_count++;
             if ($loop_counter > $columns) {
                 $loop_counter = 1;
             }
             if ($loop_counter == 1 && $type == 'slider') {
                 echo '</ul>';
             }
         }
         // end of the loop.
         if ($loop_counter != 1 || $type == 'grid') {
             echo '</ul>';
         }
         echo "</div>";
         if ($post_loop_count - 1 > $columns && $type == 'slider') {
             echo $this->slide_navigation_arrows();
         }
         echo "</div>";
     } else {
         if (!woocommerce_product_subcategories(array('before' => '<ul class="products">', 'after' => '</ul>'))) {
             echo "<p>" . __('No products found which match your selection.', 'woocommerce') . "</p>";
         }
     }
     echo '<div class="clear"></div>';
     $products = ob_get_clean();
     $output .= $products;
     if ($paginate == "yes" && ($avia_pagination = avia_pagination('', 'nav'))) {
         $output .= "<div class='pagination-wrap pagination-slider'>{$avia_pagination}</div>";
     }
     wp_reset_query();
     return $output;
 }
Пример #3
0
 public function html()
 {
     global $avia_config;
     $output = "";
     if (empty($this->entries) || empty($this->entries->posts)) {
         return $output;
     }
     avia_post_slider::$slide++;
     extract($this->atts);
     if ($preview_mode == 'auto') {
         $image_size = 'portfolio';
     }
     $extraClass = 'first';
     $grid = 'one_third';
     $post_loop_count = 1;
     $loop_counter = 1;
     $autoplay = $autoplay == "no" ? false : true;
     $total = $columns % 2 ? "odd" : "even";
     switch ($columns) {
         case "1":
             $grid = 'av_fullwidth';
             if ($preview_mode == 'auto') {
                 $image_size = 'large';
             }
             break;
         case "2":
             $grid = 'av_one_half';
             break;
         case "3":
             $grid = 'av_one_third';
             break;
         case "4":
             $grid = 'av_one_fourth';
             if ($preview_mode == 'auto') {
                 $image_size = 'portfolio_small';
             }
             break;
         case "5":
             $grid = 'av_one_fifth';
             if ($preview_mode == 'auto') {
                 $image_size = 'portfolio_small';
             }
             break;
     }
     $data = AviaHelper::create_data_string(array('autoplay' => $autoplay, 'interval' => $interval, 'animation' => $animation, 'show_slide_delay' => 90));
     $thumb_fallback = "";
     $markup = avia_markup_helper(array('context' => 'blog', 'echo' => false, 'custom_markup' => $custom_markup));
     $output .= "<div {$data} class='avia-content-slider avia-content-{$type}-active avia-content-slider" . avia_post_slider::$slide . " avia-content-slider-{$total} {$class}' {$markup}>";
     $output .= "<div class='avia-content-slider-inner'>";
     foreach ($this->entries->posts as $entry) {
         $the_id = $entry->ID;
         $parity = $loop_counter % 2 ? 'odd' : 'even';
         $last = $this->entries->post_count == $post_loop_count ? " post-entry-last " : "";
         $post_class = "post-entry post-entry-{$the_id} slide-entry-overview slide-loop-{$post_loop_count} slide-parity-{$parity} {$last}";
         $link = get_permalink($the_id);
         $excerpt = "";
         $title = '';
         $show_meta = !is_post_type_hierarchical($entry->post_type);
         $commentCount = get_comments_number($the_id);
         $thumbnail = get_the_post_thumbnail($the_id, $image_size);
         $format = get_post_format($the_id);
         if (empty($format)) {
             $format = "standard";
         }
         if ($thumbnail) {
             $thumb_fallback = $thumbnail;
             $thumb_class = "real-thumbnail";
         } else {
             $thumbnail = "<span class=' fallback-post-type-icon' " . av_icon_string($format) . "></span><span class='slider-fallback-image'>{{thumbnail}}</span>";
             $thumb_class = "fake-thumbnail";
         }
         $permalink = '<div class="read-more-link"><a href="' . get_permalink($the_id) . '" class="more-link">' . __('Read more', 'avia_framework') . '<span class="more-link-arrow">  &rarr;</span></a></div>';
         $prepare_excerpt = !empty($entry->post_excerpt) ? $entry->post_excerpt : avia_backend_truncate($entry->post_content, apply_filters('avf_postgrid_excerpt_length', 60), apply_filters('avf_postgrid_excerpt_delimiter', " "), "…", true, '');
         if ($format == 'link') {
             $current_post = array();
             $current_post['content'] = $entry->post_content;
             $current_post['title'] = $entry->post_title;
             if (function_exists('avia_link_content_filter')) {
                 $current_post = avia_link_content_filter($current_post);
             }
             $link = $current_post['url'];
         }
         switch ($contents) {
             case "excerpt":
                 $excerpt = $prepare_excerpt;
                 $title = $entry->post_title;
                 break;
             case "excerpt_read_more":
                 $excerpt = $prepare_excerpt;
                 $excerpt .= $permalink;
                 $title = $entry->post_title;
                 break;
             case "title":
                 $excerpt = '';
                 $title = $entry->post_title;
                 break;
             case "title_read_more":
                 $excerpt = $permalink;
                 $title = $entry->post_title;
                 break;
             case "only_excerpt":
                 $excerpt = $prepare_excerpt;
                 $title = '';
                 break;
             case "only_excerpt_read_more":
                 $excerpt = $prepare_excerpt;
                 $excerpt .= $permalink;
                 $title = '';
                 break;
             case "no":
                 $excerpt = '';
                 $title = '';
                 break;
         }
         if ($loop_counter == 1) {
             $output .= "<div class='slide-entry-wrap'>";
         }
         $post_format = get_post_format($the_id) ? get_post_format($the_id) : 'standard';
         $markup = avia_markup_helper(array('context' => 'entry', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
         $output .= "<article class='slide-entry flex_column {$style} {$post_class} {$grid} {$extraClass} {$thumb_class}' {$markup}>";
         $output .= $thumbnail ? "<a href='{$link}' data-rel='slide-" . avia_post_slider::$slide . "' class='slide-image' title=''>{$thumbnail}</a>" : "";
         if ($post_format == "audio") {
             $current_post = array();
             $current_post['content'] = $entry->post_content;
             $current_post['title'] = $entry->post_title;
             $current_post = apply_filters('post-format-' . $post_format, $current_post);
             if (!empty($current_post['before_content'])) {
                 $output .= '<div class="big-preview single-big audio-preview">' . $current_post['before_content'] . '</div>';
             }
         }
         $output .= "<div class='slide-content'>";
         $markup = avia_markup_helper(array('context' => 'entry_title', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
         $output .= '<header class="entry-content-header">';
         $output .= !empty($title) ? "<h3 class='slide-entry-title entry-title' {$markup}><a href='{$link}' title='" . esc_attr(strip_tags($title)) . "'>" . $title . "</a></h3>" : '';
         $output .= '</header>';
         if ($show_meta && !empty($excerpt)) {
             $output .= "<div class='slide-meta'>";
             if ($commentCount != "0" || comments_open($the_id) && $entry->post_type != 'portfolio') {
                 $link_add = $commentCount === "0" ? "#respond" : "#comments";
                 $text_add = $commentCount === "1" ? __('Comment', 'avia_framework') : __('Comments', 'avia_framework');
                 $output .= "<div class='slide-meta-comments'><a href='{$link}{$link_add}'>{$commentCount} {$text_add}</a></div><div class='slide-meta-del'>/</div>";
             }
             $markup = avia_markup_helper(array('context' => 'entry_time', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
             $output .= "<time class='slide-meta-time updated' {$markup}>" . get_the_time(get_option('date_format'), $the_id) . "</time>";
             $output .= "</div>";
         }
         $markup = avia_markup_helper(array('context' => 'entry_content', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
         $excerpt = apply_filters('avf_post_slider_entry_excerpt', $excerpt, $prepare_excerpt, $permalink, $entry);
         $output .= !empty($excerpt) ? "<div class='slide-entry-excerpt entry-content' {$markup}>" . $excerpt . "</div>" : "";
         $output .= "</div>";
         $output .= '<footer class="entry-footer"></footer>';
         $output .= "</article>";
         $loop_counter++;
         $post_loop_count++;
         $extraClass = "";
         if ($loop_counter > $columns) {
             $loop_counter = 1;
             $extraClass = 'first';
         }
         if ($loop_counter == 1 || !empty($last)) {
             $output .= "</div>";
         }
     }
     $output .= "</div>";
     if ($post_loop_count - 1 > $columns && $type == 'slider') {
         $output .= $this->slide_navigation_arrows();
     }
     if ($use_main_query_pagination == 'yes' && $paginate == "yes") {
         global $wp_query;
         $avia_pagination = avia_pagination($wp_query->max_num_pages, 'nav');
     } else {
         if ($paginate == "yes") {
             $avia_pagination = avia_pagination($this->entries->max_num_pages, 'nav');
         }
     }
     if (!empty($avia_pagination)) {
         $output .= "<div class='pagination-wrap pagination-slider'>{$avia_pagination}</div>";
     }
     $output .= "</div>";
     $output = str_replace('{{thumbnail}}', $thumb_fallback, $output);
     wp_reset_query();
     return $output;
 }
Пример #4
0
        wp_link_pages(array('before' => '<div class="pagination_split_post">', 'after' => '</div>', 'pagelink' => '<span>%</span>'));
        if (has_tag() && is_single()) {
            echo '<span class="blog-tags minor-meta">';
            the_tags('<strong>' . __('Tags:', 'avia_framework') . '</strong><span> ');
            echo '</span></span>';
        }
        echo "<div class='post_delimiter'></div>";
        echo "</div>";
        echo "<div class='post_author_timeline'></div>";
        echo "</div>";
        $post_loop_count++;
    }
} else {
    ?>

<div class="entry">
<h2 class='post-title'><?php 
    _e('Nothing Found', 'avia_framework');
    ?>
</h2>
<p><?php 
    _e('Sorry, no posts matched your criteria', 'avia_framework');
    ?>
</p>
</div>

<?php 
}
if (empty($avia_config['remove_pagination'])) {
    echo "<div class='{$blog_style}'>" . avia_pagination() . "</div>";
}
Пример #5
0
 function html()
 {
     if (empty($this->loop)) {
         return;
     }
     $output = "";
     $items = "";
     $size = strpos($this->atts['size'], 'fixed') !== false ? 'fixed' : "flex";
     $auto = strpos($this->atts['size'], 'masonry') !== false ? true : false;
     $manually = strpos($this->atts['size'], 'manually') !== false ? true : false;
     $defaults = array('ID' => '', 'thumb_ID' => '', 'title' => '', 'url' => '', 'class' => array(), 'date' => '', 'excerpt' => '', 'data' => '', 'attachment' => array(), 'attachment_overlay' => array(), 'bg' => "", 'before_content' => '', 'text_before' => '', 'text_after' => '', 'img_before' => '');
     $output .= "<div id='av-masonry-" . self::$element . "' class='av-masonry noHover av-{$size}-size av-{$this->atts['gap']}-gap av-hover-overlay-{$this->atts['overlay_fx']} av-masonry-col-{$this->atts['columns']} av-caption-{$this->atts['caption_display']} {$this->atts['container_class']}' >";
     $output .= $this->atts['sort'] != "no" ? $this->sort_buttons() : "";
     $output .= "<div class='av-masonry-container isotope av-js-disabled ' >";
     $all_sorts = array();
     $sort_array = array();
     foreach ($this->loop as $entry) {
         extract(array_merge($defaults, $entry));
         $img_html = "";
         $img_style = "";
         if ($this->atts['sort'] != "no") {
             $sort_array = $this->sort_array($entry['ID']);
         }
         $class_string = implode(' ', $class) . ' ' . implode(' ', $sort_array);
         $all_sorts = array_merge($all_sorts, $sort_array);
         if (!empty($attachment)) {
             $alt = get_post_meta($thumb_ID, '_wp_attachment_image_alt', true);
             $alt = !empty($alt) ? esc_attr($alt) : '';
             $title = esc_attr(get_the_title($thumb_ID));
             if (isset($attachment[0])) {
                 $img_html = '<img src="' . $attachment[0] . '" title="' . $title . '" alt="' . $alt . '" />';
                 $img_style = 'style="background-image: url(' . $attachment[0] . ');"';
                 $class_string .= " av-masonry-item-with-image";
             }
             if (isset($attachment_overlay[0])) {
                 $over_html = '<img src="' . $attachment_overlay[0] . '" title="' . $title . '" alt="' . $alt . '" />';
                 $over_style = 'style="background-image: url(' . $attachment_overlay[0] . ');"';
                 $img_before = '<div class="av-masonry-image-container av-masonry-overlay" ' . $over_style . '>' . $over_html . '</div>';
             }
             $bg = '<div class="av-masonry-outerimage-container">' . $img_before . '<div class="av-masonry-image-container" ' . $img_style . '>' . $img_html . '</div></div>';
         } else {
             $class_string .= " av-masonry-item-no-image";
         }
         if ($size == 'fixed') {
             if (!empty($attachment) || !empty($before_content)) {
                 if ($auto) {
                     $class_string .= $this->ratio_check_by_image_size($attachment);
                 }
                 if ($manually) {
                     $class_string .= $this->ratio_check_by_tag($entry['tags']);
                 }
             }
         }
         $linktitle = "";
         if ($post_type == 'attachment' && strpos($html_tags[0], 'a href=') !== false) {
             $linktitle = 'title="' . esc_attr($description) . '"';
         } else {
             if (strpos($html_tags[0], 'a href=') !== false) {
                 $linktitle = 'title="' . esc_attr($the_title) . '"';
             }
         }
         $markup = $post_type == 'attachment' ? avia_markup_helper(array('context' => 'image_url', 'echo' => false, 'id' => $entry['ID'], 'custom_markup' => $this->atts['custom_markup'])) : avia_markup_helper(array('context' => 'entry', 'echo' => false, 'id' => $entry['ID'], 'custom_markup' => $this->atts['custom_markup']));
         $items .= "<{$html_tags[0]} class='{$class_string}' {$linktitle} {$markup}>";
         $items .= "<div class='av-inner-masonry-sizer'></div>";
         //responsible for the size
         $items .= "<figure class='av-inner-masonry main_color'>";
         $items .= $bg;
         //title and excerpt
         if ($this->atts['caption_elements'] != 'none' || !empty($text_add)) {
             $items .= "<figcaption class='av-inner-masonry-content site-background'><div class='av-inner-masonry-content-pos'><div class='avia-arrow'></div>" . $text_before;
             if (strpos($this->atts['caption_elements'], 'title') !== false) {
                 $markup = avia_markup_helper(array('context' => 'entry_title', 'echo' => false, 'id' => $entry['ID'], 'custom_markup' => $this->atts['custom_markup']));
                 $items .= "<h3 class='av-masonry-entry-title entry-title' {$markup}>{$the_title}</h3>";
             }
             if (strpos($this->atts['caption_elements'], 'excerpt') !== false && !empty($content)) {
                 $markup = avia_markup_helper(array('context' => 'entry_content', 'echo' => false, 'id' => $entry['ID'], 'custom_markup' => $this->atts['custom_markup']));
                 $items .= "<div class='av-masonry-entry-content entry-content' {$markup}>{$content}</div>";
             }
             $items .= $text_after . "</div></figcaption>";
         }
         $items .= "</figure>";
         $items .= "</{$html_tags[1]}><!--end av-masonry entry-->";
     }
     //if its an ajax call return the items only without container
     if (isset($this->atts['action']) && $this->atts['action'] == 'avia_ajax_masonry_more') {
         return $items;
     }
     // if its no ajax load prepend an empty invisible element as the first element. this is used for calculating the correct width of a default element.
     // in theory this is not necessary because the masonry can detect that with an extra js parameter but sorting becomes slugish if that param is set
     $all_sort_string = implode(' ', array_unique($all_sorts));
     $items = "<div class='av-masonry-entry isotope-item av-masonry-item-no-image {$all_sort_string}'></div>" . $items;
     $output .= $items;
     $output .= "</div>";
     //append pagination
     if ($this->atts['paginate'] == "pagination" && ($avia_pagination = avia_pagination($this->entries->max_num_pages, 'nav'))) {
         $output .= "<div class='av-masonry-pagination av-masonry-pagination-{$this->atts['paginate']}'>{$avia_pagination}</div>";
     } else {
         if ($this->atts['paginate'] == "load_more" && $this->entries->max_num_pages > count($this->entries)) {
             $output .= $this->load_more_button();
         }
     }
     $output .= "</div>";
     return $output;
 }
Пример #6
0
 public function html()
 {
     if (empty($this->entries) || empty($this->entries->posts)) {
         return;
     }
     avia_post_grid::$grid++;
     extract($this->atts);
     $container_id = avia_post_grid::$grid;
     $extraClass = 'first';
     $grid = 'one_fourth';
     if ($preview_mode == 'auto') {
         $image_size = 'portfolio';
     }
     $post_loop_count = 1;
     $loop_counter = 1;
     $output = "";
     $style_class = empty($style) ? 'no_margin' : $style;
     $total = $this->entries->post_count % 2 ? "odd" : "even";
     if ($set_breadcrumb && is_page()) {
         $_SESSION["avia_{$post_type}"] = get_the_ID();
     }
     switch ($columns) {
         case "1":
             $grid = 'av_fullwidth';
             if ($preview_mode == 'auto') {
                 $image_size = 'featured';
             }
             break;
         case "2":
             $grid = 'av_one_half';
             break;
         case "3":
             $grid = 'av_one_third';
             break;
         case "4":
             $grid = 'av_one_fourth';
             if ($preview_mode == 'auto') {
                 $image_size = 'portfolio_small';
             }
             break;
         case "5":
             $grid = 'av_one_fifth';
             if ($preview_mode == 'auto') {
                 $image_size = 'portfolio_small';
             }
             break;
         case "6":
             $grid = 'av_one_sixth';
             if ($preview_mode == 'auto') {
                 $image_size = 'portfolio_small';
             }
             break;
     }
     if ($fullscreen && $preview_mode == 'auto' && $image_size == "portfolio_small") {
         $image_size = 'portfolio';
     }
     $output .= $sort == "yes" ? $this->sort_buttons($this->entries->posts, $this->atts) : "";
     if ($linking == "ajax") {
         global $avia_config;
         $container_class = $fullscreen ? "container" : "";
         $output .= "<div class='portfolio_preview_container {$container_class}' data-portfolio-id='{$container_id}'>\n\t\t\t\t\t\t\t\t<div class='ajax_controlls iconfont'>\n\t\t\t\t\t\t\t\t\t<a href='#prev' class='ajax_previous' \t" . av_icon_string('prev') . "></a>\n\t\t\t\t\t\t\t\t\t<a href='#next' class='ajax_next'\t\t" . av_icon_string('next') . "></a>\n\t\t\t\t\t\t\t\t\t<a class='avia_close' href='#close'\t\t" . av_icon_string('close') . "></a>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class='portfolio-details-inner'></div>\n\t\t\t\t\t\t\t</div>";
     }
     $output .= "<div class='{$class} grid-sort-container isotope {$style_class}-container with-{$contents}-container grid-total-{$total} grid-col-{$columns} grid-links-{$linking}' data-portfolio-id='{$container_id}'>";
     foreach ($this->entries->posts as $entry) {
         $the_id = $entry->ID;
         $parity = $post_loop_count % 2 ? 'odd' : 'even';
         $last = $this->entries->post_count == $post_loop_count ? " post-entry-last " : "";
         $post_class = "post-entry post-entry-{$the_id} grid-entry-overview grid-loop-{$post_loop_count} grid-parity-{$parity} {$last}";
         $sort_class = $this->sort_cat_string($the_id, $this->atts);
         switch ($linking) {
             case "lightbox":
                 $link = wp_get_attachment_image_src(get_post_thumbnail_id($the_id), 'large');
                 $link = $link[0];
                 break;
             default:
                 $link = get_permalink($the_id);
                 break;
         }
         $title_link = get_permalink($the_id);
         $custom_link = get_post_meta($the_id, '_portfolio_custom_link', true) != "" ? get_post_meta($the_id, '_portfolio_custom_link_url', true) : false;
         if ($custom_link) {
             $title_link = $link = $custom_link;
         }
         $excerpt = '';
         $title = '';
         switch ($contents) {
             case "excerpt":
                 $excerpt = $entry->post_excerpt;
                 $title = $entry->post_title;
                 break;
             case "title":
                 $excerpt = '';
                 $title = $entry->post_title;
                 break;
             case "only_excerpt":
                 $excerpt = $entry->post_excerpt;
                 $title = '';
                 break;
             case "no":
                 $excerpt = '';
                 $title = '';
                 break;
         }
         $custom_overlay = apply_filters('avf_portfolio_custom_overlay', "", $entry);
         $link_markup = apply_filters('avf_portfolio_custom_image_container', array("a href='{$link}' title='" . esc_attr(strip_tags($title)) . "' ", 'a'), $entry);
         $title = apply_filters('avf_portfolio_title', $title, $entry);
         $title_link = apply_filters('avf_portfolio_title_link', $title_link, $entry);
         if ($columns == "1" && $one_column_template == 'special') {
             $extraClass .= ' special_av_fullwidth ';
             $output .= "<div data-ajax-id='{$the_id}' class=' grid-entry flex_column isotope-item all_sort {$style_class} {$post_class} {$sort_class} {$grid} {$extraClass}'>";
             $output .= "<article class='main_color inner-entry' " . avia_markup_helper(array('context' => 'entry', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup)) . ">";
             $output .= apply_filters('avf_portfolio_extra', "", $entry);
             $output .= "<div class='av_table_col first portfolio-entry grid-content'>";
             if (!empty($title)) {
                 $markup = avia_markup_helper(array('context' => 'entry_title', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
                 $output .= '<header class="entry-content-header">';
                 $output .= "<h2 class='portfolio-grid-title entry-title' {$markup}><a href='{$title_link}'>" . $title . "</a></h2>";
                 $output .= '</header>';
             }
             if (!empty($excerpt)) {
                 $markup = avia_markup_helper(array('context' => 'entry_content', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
                 $output .= "<div class='entry-content-wrapper'>";
                 $output .= "<div class='grid-entry-excerpt entry-content' {$markup}>" . $excerpt . "</div>";
                 $output .= "</div>";
             }
             $output .= '<div class="avia-arrow"></div>';
             $output .= "</div>";
             $image = get_the_post_thumbnail($the_id, $image_size);
             if (!empty($image)) {
                 $output .= "<div class='av_table_col portfolio-grid-image'>";
                 $output .= "<" . $link_markup[0] . " data-rel='grid-" . avia_post_grid::$grid . "' class='grid-image avia-hover-fx'>" . $custom_overlay . $image . "</" . $link_markup[1] . ">";
                 $output .= "</div>";
             }
             $output .= '<footer class="entry-footer"></footer>';
             $output .= "</article>";
             $output .= "</div>";
         } else {
             $extraClass .= ' default_av_fullwidth ';
             $output .= "<div data-ajax-id='{$the_id}' class=' grid-entry flex_column isotope-item all_sort {$style_class} {$post_class} {$sort_class} {$grid} {$extraClass}'>";
             $output .= "<article class='main_color inner-entry' " . avia_markup_helper(array('context' => 'entry', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup)) . ">";
             $output .= apply_filters('avf_portfolio_extra', "", $entry);
             $output .= "<" . $link_markup[0] . " data-rel='grid-" . avia_post_grid::$grid . "' class='grid-image avia-hover-fx'>" . $custom_overlay . get_the_post_thumbnail($the_id, $image_size) . "</" . $link_markup[1] . ">";
             $output .= !empty($title) || !empty($excerpt) ? "<div class='grid-content'><div class='avia-arrow'></div>" : '';
             if (!empty($title)) {
                 $markup = avia_markup_helper(array('context' => 'entry_title', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup));
                 $output .= '<header class="entry-content-header">';
                 $output .= "<h3 class='grid-entry-title entry-title' {$markup}><a href='{$title_link}' title='" . esc_attr(strip_tags($title)) . "'>" . $title . "</a></h3>";
                 $output .= '</header>';
             }
             $output .= !empty($excerpt) ? "<div class='grid-entry-excerpt entry-content' " . avia_markup_helper(array('context' => 'entry_content', 'echo' => false, 'id' => $the_id, 'custom_markup' => $custom_markup)) . ">" . $excerpt . "</div>" : '';
             $output .= !empty($title) || !empty($excerpt) ? "</div>" : '';
             $output .= '<footer class="entry-footer"></footer>';
             $output .= "</article>";
             $output .= "</div>";
         }
         $loop_counter++;
         $post_loop_count++;
         $extraClass = "";
         if ($loop_counter > $columns) {
             $loop_counter = 1;
             $extraClass = 'first';
         }
     }
     $output .= "</div>";
     //append pagination
     if ($paginate == "yes" && ($avia_pagination = avia_pagination($this->entries->max_num_pages, 'nav'))) {
         $output .= "<div class='pagination-wrap pagination-{$post_type}'>{$avia_pagination}</div>";
     }
     return $output;
 }
Пример #7
0
 /**
  * This function creates the html code necessary for a woocommerce shop section. It uses the woocommerce shop loop to do that
  *
  * @param array $element is an array with all the data necessary for creating the html code (it contains the element data and the saved values for the element)
  * @return string $output the string returned contains the html code generated within the method
  */
 function shop($element)
 {
     $output = "";
     //check if the plugin is enabled
     if (!avia_woocommerce_enabled()) {
         $url = network_site_url('wp-admin/plugin-install.php?tab=search&type=term&s=WooCommerce&plugin-search-input=Search+Plugins');
         $output = "<p><strong>You need to install and activate the <a href='{$url}'>WooCommerce Shop Plugin</a> to display Products</strong></p>";
         return $output;
     }
     extract($element['saved_value'][0]);
     global $avia_config, $more, $woocommerce_loop;
     if ($shop_columns == 5 && strpos($avia_config['layout'], 'dual') !== false) {
         $shop_columns = 4;
     }
     if ($shop_text == 'yes') {
         $avia_config['shop_overview_excerpt'] = 'active';
     }
     $woocommerce_loop['columns'] = $avia_config['shop_overview_column'] = $shop_columns;
     $order = get_option('woocommerce_default_catalog_orderby');
     if (!$order) {
         $order = "menu_order";
     }
     $avia_config['new_query'] = array('post_type' => 'product', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, "paged" => get_query_var('paged'), 'posts_per_page' => $shop_item_count, 'orderby' => $order, 'order' => 'desc', 'meta_query' => array(array('key' => '_visibility', 'value' => array('catalog', 'visible'), 'compare' => 'IN')));
     if (empty($shop_cats_dynamic) || $shop_cats_dynamic == 'null') {
         $avia_config['new_query']['post_type'] = "product";
     } else {
         $avia_config['new_query']['tax_query'] = array(array('taxonomy' => 'product_cat', 'field' => 'id', 'terms' => explode(',', $shop_cats_dynamic), 'operator' => 'IN'));
     }
     query_posts($avia_config['new_query']);
     ob_start();
     if (have_posts()) {
         do_action('woocommerce_before_shop_loop');
         echo '<ul class="products">';
         woocommerce_product_subcategories();
         while (have_posts()) {
             the_post();
             woocommerce_get_template_part('content', 'product');
         }
         // end of the loop.
         echo '</ul>';
         do_action('woocommerce_after_shop_loop');
     } else {
         if (!woocommerce_product_subcategories(array('before' => '<ul class="products">', 'after' => '</ul>'))) {
             echo "<p>" . __('No products found which match your selection.', 'woocommerce') . "</p>";
         }
     }
     echo '<div class="clear"></div>';
     $products = ob_get_clean();
     $output .= "<div class='container_wrap " . $avia_config['layout'] . " template-shop shop_columns_" . $avia_config['shop_overview_column'] . "'>";
     $output .= "<div class='template-shop content shop_slider_{$shop_slider}' data-interval='{$shop_autorotate}'>";
     $output .= $products;
     if ($shop_pagination == 'yes') {
         $output .= avia_pagination();
     }
     $output .= "</div>";
     $output .= "</div>";
     wp_reset_query();
     return $output;
 }
Пример #8
0
 /**
  * Frontend Shortcode Handler
  *
  * @param array $atts array of attributes
  * @param string $content text within enclosing form of shortcode element
  * @param string $shortcodename the shortcode found, when == callback name
  * @return string $output returns the modified html string
  */
 function shortcode_handler($atts, $content = "", $shortcodename = "", $meta = "")
 {
     $atts = shortcode_atts(array('categories' => "", 'items' => "3", 'paginate' => "no"), $atts, $this->config['shortcode']);
     $output = "";
     $posts = $this->query_entries($atts);
     $entries = $posts->posts;
     if (class_exists('Tribe__Events__Pro__Main')) {
         $ecp = Tribe__Events__Pro__Main::instance();
         $ecp->disable_recurring_info_tooltip();
     }
     if (!empty($entries)) {
         global $post;
         $default_id = $post->ID;
         $output .= "<div class='av-upcoming-events " . $meta['el_class'] . "'>";
         foreach ($entries as $entry) {
             $class = "av-upcoming-event-entry";
             $image = get_the_post_thumbnail($entry->ID, 'square', array('class' => 'av-upcoming-event-image'));
             $class .= !empty($image) ? " av-upcoming-event-with-image" : " av-upcoming-event-without-image";
             $title = get_the_title($entry->ID);
             $link = get_permalink($entry->ID);
             $post->ID = $entry->ID;
             //temp set of the post id so that tribe fetches the correct price symbol
             $price = tribe_get_cost($entry->ID, true);
             $venue = tribe_get_venue($entry->ID);
             $post->ID = $default_id;
             $output .= "<a href='{$link}' class='{$class}'>";
             if ($image) {
                 $output .= $image;
             }
             $output .= "<span class='av-upcoming-event-data'>";
             $output .= "<h4 title='av-upcoming-event-title'>{$title}</h4>";
             $output .= "<span class='av-upcoming-event-meta'>";
             $output .= "<span class='av-upcoming-event-schedule'>" . tribe_events_event_schedule_details($entry) . "</span>";
             if ($price) {
                 $output .= "<span class='av-upcoming-event-cost'>{$price}</span>";
             }
             if ($price && $venue) {
                 $output .= " - ";
             }
             if ($venue) {
                 $output .= "<span class='av-upcoming-event-venue'>{$venue}</span>";
             }
             $output .= apply_filters('avf_upcoming_event_extra_data', "", $entry);
             $output .= "</span>";
             $output .= "</span>";
             $output .= "</a>";
         }
         if ($atts['paginate'] == "yes" && ($avia_pagination = avia_pagination($posts->max_num_pages, 'nav'))) {
             $output .= "<div class='pagination-wrap pagination-" . Tribe__Events__Main::POSTTYPE . "'>{$avia_pagination}</div>";
         }
         $output .= "</div>";
     }
     if (class_exists('Tribe__Events__Pro__Main')) {
         // Re-enable recurring event info
         $ecp->enable_recurring_info_tooltip();
     }
     return $output;
 }
    _e('You might want to consider some of our suggestions to get better results:', 'avia_framework');
    ?>
</p>
                <ul>
                    <li><?php 
    _e('Check your spelling.', 'avia_framework');
    ?>
</li>
                    <li><?php 
    _e('Try a similar keyword, for example: tablet instead of laptop.', 'avia_framework');
    ?>
</li>
                    <li><?php 
    _e('Try using more than one keyword.', 'avia_framework');
    ?>
</li>
                </ul>

                <div class='hr_invisible'></div>
                <h3 class=''><?php 
    _e('Feel like browsing some posts instead?', 'avia_framework');
    ?>
</h3>

        <?php 
    the_widget('avia_combo_widget', 'error404widget', array('widget_id' => 'arbitrary-instance-' . $id, 'before_widget' => '<div class="widget avia_combo_widget">', 'after_widget' => '</div>', 'before_title' => '<h3 class="widgettitle">', 'after_title' => '</h3>'));
    echo '</section>';
    echo "</article>";
}
echo avia_pagination('', 'nav');
Пример #10
0
 public function html_list()
 {
     global $woocommerce, $avia_config, $wp_query;
     $output = "";
     avia_post_slider::$slide++;
     extract($this->atts);
     $extraClass = 'first';
     $grid = 'av_fullwidth';
     $post_loop_count = 0;
     $loop_counter = 0;
     $total = $columns % 2 ? "odd" : "even";
     $posts_per_col = ceil($wp_query->post_count / $columns);
     switch ($columns) {
         case "1":
             $grid = 'av_fullwidth';
             break;
         case "2":
             $grid = 'av_one_half';
             break;
         case "3":
             $grid = 'av_one_third';
             break;
         case "4":
             $grid = 'av_one_fourth';
             break;
         case "5":
             $grid = 'av_one_fifth';
             break;
     }
     ob_start();
     if (have_posts()) {
         while (have_posts()) {
             the_post();
             $post_loop_count++;
             $loop_counter++;
             if ($loop_counter === 1) {
                 echo "<div class='{$grid} {$extraClass} flex_column av-catalogue-column'>";
                 echo "<div class='av-catalogue-container av-catalogue-container-woo' >";
                 echo "<ul class='av-catalogue-list'>";
                 $extraClass = "";
             }
             global $product;
             $link = $product->add_to_cart_url();
             $ajax_class = 'add_to_cart_button product_type_simple';
             $text = "";
             $title = get_the_title();
             $content = get_the_excerpt();
             $price = $product->get_price_html();
             $rel = "";
             if (empty($link_behavior)) {
                 $cart_url = get_the_permalink();
                 $ajax_class = "";
             } else {
                 $cart_url = $product->add_to_cart_url();
                 $ajax_class = $product->is_purchasable() ? "add_to_cart_button" : "";
                 $rel = $product->is_purchasable() ? "rel='nofollow'" : "";
             }
             $image = get_the_post_thumbnail($product->id, 'square', array('class' => "av-catalogue-image av-cart-update-image av-catalogue-image-{$show_images}"));
             $text .= $image;
             $text .= "<div class='av-catalogue-item-inner'>";
             $text .= "<div class='av-catalogue-title-container'><div class='av-catalogue-title av-cart-update-title'>{$title}</div><div class='av-catalogue-price av-cart-update-price'>{$price}</div></div>";
             $text .= "<div class='av-catalogue-content'>{$content}</div>";
             $text .= "</div>";
             echo "<li>";
             //coppied from templates/loop/add-to-cart.php - class and rel attr changed, as well as text
             echo apply_filters('woocommerce_loop_add_to_cart_link', sprintf('<a %s href="%s" data-product_id="%s" data-product_sku="%s" class="av-catalogue-item %s product_type_%s">%s</a>', $rel, esc_url($cart_url), esc_attr($product->id), esc_attr($product->get_sku()), $ajax_class, esc_attr($product->product_type), $text), $product);
             echo "</li>";
             if ($loop_counter == $posts_per_col || $post_loop_count == $wp_query->post_count) {
                 echo "</ul>";
                 echo "</div>";
                 echo "</div>";
                 $loop_counter = 0;
             }
         }
         // end of the loop.
     }
     $products = ob_get_clean();
     $output .= $products;
     if ($paginate == "yes" && ($avia_pagination = avia_pagination('', 'nav'))) {
         $output .= "<div class='pagination-wrap pagination-slider'>{$avia_pagination}</div>";
     }
     wp_reset_query();
     return $output;
 }
Пример #11
0
 /**
  * Frontend Shortcode Handler
  *
  * @param array $atts array of attributes
  * @param string $content text within enclosing form of shortcode element
  * @param string $shortcodename the shortcode found, when == callback name
  * @return string $output returns the modified html string
  */
 function shortcode_handler($atts, $content = "", $shortcodename = "", $meta = "")
 {
     $atts = shortcode_atts(array('categories' => "", 'items' => "3", 'paginate' => "no"), $atts, $this->config['shortcode']);
     $output = "";
     $posts = $this->query_entries($atts);
     $entries = $posts->posts;
     if (!empty($entries)) {
         $output .= "<div class='av-upcoming-events " . $meta['el_class'] . "'>";
         foreach ($entries as $entry) {
             $class = "av-upcoming-event-entry";
             $image = get_the_post_thumbnail($entry->ID, 'square', array('class' => 'av-upcoming-event-image'));
             $class .= empty($image) ? " av-upcoming-event-with-image" : " av-upcoming-event-without-image";
             $title = get_the_title($entry->ID);
             $link = get_permalink($entry->ID);
             $price = tribe_get_cost($entry->ID, true);
             $venue = tribe_get_venue($entry->ID);
             $output .= "<a href='{$link}' class='{$class}'>";
             if ($image) {
                 $output .= $image;
             }
             $output .= "<div class='av-upcoming-event-data'>";
             $output .= "<h4 title='av-upcoming-event-title'>{$title}</h4>";
             $output .= "<div class='av-upcoming-event-meta'>";
             $output .= "<span class='av-upcoming-event-schedule'>" . tribe_events_event_schedule_details($entry) . "</span>";
             if ($price) {
                 $output .= "<span class='av-upcoming-event-cost'>{$price}</span>";
             }
             if ($price && $venue) {
                 $output .= " - ";
             }
             if ($venue) {
                 $output .= "<span class='av-upcoming-event-venue'>{$venue}</span>";
             }
             $output .= apply_filters('avf_upcoming_event_extra_data', "", $entry);
             $output .= "</div>";
             $output .= "</div>";
             $output .= "</a>";
         }
         if ($atts['paginate'] == "yes" && ($avia_pagination = avia_pagination($posts->max_num_pages, 'nav'))) {
             $output .= "<div class='pagination-wrap pagination-" . TribeEvents::POSTTYPE . "'>{$avia_pagination}</div>";
         }
         $output .= "</div>";
     }
     return $output;
 }
Пример #12
0
        the_content(__('Read more  &rarr;', 'avia_framework'));
        ?>
	
								
			</div>							
		
		
		</div><!--end post-entry-->
		
		
<?php 
    }
} else {
    ?>
	
	
	<div class="entry">
		<h1 class='post-title'><?php 
    _e('Nothing Found', 'avia_framework');
    ?>
</h1>
		<p><?php 
    _e('Sorry, no posts matched your criteria', 'avia_framework');
    ?>
</p>
	</div>
<?php 
}
if (!isset($avia_config['remove_pagination'])) {
    echo avia_pagination();
}