'strtm-post-widget', 'description' => 'Canopus recent posts.');
parent::__construct('strtm-post-widget', 'Canopus: Recent posts', $widget_ops);
}
function widget($args, $instance) {
global $post;
extract($args);
$title = apply_filters('widget_title', $instance['title']);
$q['posts_per_page'] = isset($instance['number_posts'])?$instance['number_posts']:5;
$cats = (array) $instance['post_category'];
$q['paged'] = 1;
if(count($cats) > 0){
$typ = 'category';
$sp = '';
$catq = '';
foreach ($cats as $mycat) {
$catq = $catq . $sp . $mycat;
$sp = ',';
}
$catq = explode(',', $catq);
$q['tax_query'] = Array(Array(
'taxonomy' => $typ,
'terms' => $catq,
'field' => 'id'
)
);
}
if($instance['post_order']==='commented'){
$q['orderby'] = 'comment_count';
}elseif($instance['post_order'] == 'popular'){
$q['orderby'] = 'meta_value_num';
$q['meta_key'] = 'post_seen';
}
$post_query = new WP_Query( $q );
if (isset($before_widget)){echo ($before_widget);}
if ($title != ''){echo balanceTags($args['before_title'] . $title . $args['after_title']);}
if(!empty($instance['post_layout'])){
wp_enqueue_script('owl-carousel');
echo '
';
while ($post_query->have_posts()) : $post_query->the_post();
$feat_img = '';
if (has_post_thumbnail($post->ID)) {
$lrg_img = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'canopus_carousel_widget');
$feat_img = '
 . ')
';
}
echo '
'.$feat_img;
echo '
';
echo '
'.canopus_cats().'
';
echo '
';
echo '
';
echo '
';
echo '
';
endwhile;
echo '
';
}else{
echo '';
while ($post_query->have_posts()) : $post_query->the_post();
echo '- ';
if (has_post_thumbnail($post->ID)) {
$lrg_img = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail');
$feat_img = $lrg_img[0];
echo '';
} else {
$format = get_post_format() == "" ? "standard" : get_post_format();
$empty=true;
if($format=='gallery' && ($image_ids = canopus_metabox('gallery_image_ids'))){
$images = explode(',', $image_ids);
foreach ($images as $image) {
if($image){
$img = wp_get_attachment_image_src($image, 'thumbnail');
if(!empty($img[0])){
$empty=false;
echo '';
break;
}
}
}
}
if($empty){
echo '';
}
}
echo '
';
echo '
';
echo '
'.get_the_time(get_option('date_format')).'
';
echo '
';
echo ' ';
endwhile;
echo '
';
}
if (isset($after_widget)){echo ($after_widget);}
wp_reset_postdata();
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
/* Strip tags (if needed) and update the widget settings. */
$instance['title'] = sanitize_text_field($new_instance['title']);
$instance['post_category'] = $_REQUEST['post_category'];
$instance['number_posts'] = strip_tags($new_instance['number_posts']);
$instance['post_order'] = strip_tags($new_instance['post_order']);
$instance['post_layout'] = strip_tags($new_instance['post_layout']);
$instance['height'] = strip_tags($new_instance['height']);
return $instance;
}
function form($instance) {
//Output admin widget options form
extract(shortcode_atts(array(
'title' => '',
'number_posts' => 5,
'post_order' => 'latest',
'post_type' => 'post',
'post_layout' => '',
'height' => ''
), $instance));
?>
$tax[0], 'checked_ontop' => false, 'selected_cats' => $selctedcat)); ?>