Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_action('after_setup_theme', function() {
- class avia_portfoliobox_custom extends avia_newsbox
- {
- function __construct()
- {
- $this->avia_term = 'portfolio_entries';
- $this->avia_post_type = 'portfolio';
- $widget_ops = array('classname' => 'newsbox', 'description' => __('A Sidebar widget to display latest portfolio entries in your sidebar', 'avia_framework') );
- WP_Widget::__construct( 'portfolioboxnew', 'Movers Latest Portfolio', $widget_ops );
- }
- function widget($args, $instance)
- {
- global $avia_config;
- extract($args, EXTR_SKIP);
- echo $before_widget;
- $title = empty($instance['title']) ? '' : apply_filters('widget_title', $instance['title']);
- $count = empty($instance['count']) ? '' : $instance['count'];
- $cat = empty($instance['cat']) ? '' : $instance['cat'];
- $excerpt = empty($instance['excerpt']) ? '' : $instance['excerpt'];
- $image_size = isset($avia_config['widget_image_size']) ? $avia_config['widget_image_size'] : 'widget';
- $this->avia_new_query = array( "posts_per_page"=>$count,
- 'date_query' => array(
- 'column' => 'post_modified',
- ),'tax_query' => array(
- array( 'taxonomy' => $this->avia_term,
- 'field' => 'id',
- 'terms' => explode(',', $cat),
- 'operator' => 'IN')
- ));
- /**
- * @since 4.5.4
- * @return string
- */
- $image_size = apply_filters( 'avf_newsbox_image_size', $image_size, $args, $instance );
- if ( !empty( $title ) ) { echo $before_title . $title . $after_title; };
- if(empty($this->avia_term))
- {
- $additional_loop = new WP_Query("cat=".$cat."&posts_per_page=".$count);
- }
- else
- {
- $catarray = explode(',', $cat);
- if(empty($catarray[0]))
- {
- $new_query = array("posts_per_page"=>$count,"post_type"=>$this->avia_post_type);
- }
- else
- {
- if($this->avia_new_query)
- {
- $new_query = $this->avia_new_query;
- }
- else
- {
- $new_query = array( "posts_per_page"=>$count, 'tax_query' => array(
- array( 'taxonomy' => $this->avia_term,
- 'field' => 'id',
- 'terms' => explode(',', $cat),
- 'operator' => 'IN')
- )
- );
- }
- }
- $additional_loop = new WP_Query($new_query);
- }
- if($additional_loop->have_posts()) :
- echo '<ul class="news-wrap image_size_'.$image_size.'">';
- while ($additional_loop->have_posts()) : $additional_loop->the_post();
- $format = "";
- if(empty($this->avia_post_type)) $format = $this->avia_post_type;
- if(empty($format)) $format = get_post_format();
- if(empty($format)) $format = 'standard';
- $the_id = get_the_ID();
- $link = get_post_meta( $the_id ,'_portfolio_custom_link', true) != "" ? get_post_meta( $the_id ,'_portfolio_custom_link_url', true) : get_permalink();
- echo '<li class="news-content post-format-'.$format.'">';
- //check for preview images:
- $image = "";
- if(!current_theme_supports('force-post-thumbnails-in-widget'))
- {
- $slides = avia_post_meta(get_the_ID(), 'slideshow', true);
- if( $slides != "" && !empty( $slides[0]['slideshow_image'] ) )
- {
- $image = avia_image_by_id($slides[0]['slideshow_image'], $image_size, 'image');
- }
- }
- if(current_theme_supports( 'post-thumbnails' ) && !$image )
- {
- $image = get_the_post_thumbnail( $the_id, $image_size );
- }
- $time_format = apply_filters( 'avia_widget_time', get_option('date_format')." - ".get_option('time_format'), 'avia_newsbox' );
- echo "<a class='news-link' title='".get_the_title()."' href='".$link."'>";
- $nothumb = (!$image) ? 'no-news-thumb' : '';
- echo "<span class='news-thumb $nothumb'>";
- echo $image;
- echo "</span>";
- if(empty($avia_config['widget_image_size']) || 'display title and excerpt' != $excerpt)
- {
- echo "<strong class='news-headline'>".get_the_title();
- if($time_format)
- {
- echo "<span class='news-time'>".get_the_time($time_format)."</span>";
- }
- echo "</strong>";
- }
- echo "</a>";
- if( 'display title and excerpt' == $excerpt )
- {
- echo "<div class='news-excerpt'>";
- if(!empty($avia_config['widget_image_size']))
- {
- echo "<a class='news-link-inner' title='".get_the_title()."' href='".$link."'>";
- echo "<strong class='news-headline'>".get_the_title()."</strong>";
- echo "</a>";
- if($time_format)
- {
- echo "<span class='news-time'>".get_the_time($time_format)."</span>";
- }
- }
- the_excerpt();
- echo "</div>";
- }
- echo '</li>';
- endwhile;
- echo "</ul>";
- wp_reset_postdata();
- endif;
- echo $after_widget;
- }
- }
- register_widget( 'avia_portfoliobox_custom' );
- });
Advertisement
Add Comment
Please, Sign In to add comment