'mh_magazine_lite_posts_large', 'description' => esc_html__('MH Posts Large widget to display posts (large-sized) including thumbnail images.', 'mh-magazine-lite'), 'customize_selective_refresh' => true ) ); } function widget($args, $instance) { $defaults = array('title' => '', 'category' => 0, 'tags' => '', 'postcount' => 1, 'offset' => 0, 'sticky' => 1); $instance = wp_parse_args($instance, $defaults); $query_args = array(); $query_args['ignore_sticky_posts'] = $instance['sticky']; if (0 !== $instance['category']) { $query_args['cat'] = $instance['category']; } if (!empty($instance['tags'])) { $tag_slugs = explode(',', $instance['tags']); $tag_slugs = array_map('trim', $tag_slugs); $query_args['tag_slug__in'] = $tag_slugs; } if (!empty($instance['postcount'])) { $query_args['posts_per_page'] = $instance['postcount']; } if (0 !== $instance['offset']) { $query_args['offset'] = $instance['offset']; } $widget_posts = new WP_Query($query_args); echo $args['before_widget']; if ($widget_posts->have_posts()) : if (!empty($instance['title'])) { echo $args['before_title'] . esc_html(apply_filters('widget_title', $instance['title'])) . $args['after_title']; } echo '
' . "\n"; while ($widget_posts->have_posts()) : $widget_posts->the_post(); get_template_part('content', 'large'); endwhile; wp_reset_postdata(); echo '
' . "\n"; endif; echo $args['after_widget']; } function update($new_instance, $old_instance) { $instance = array(); if (!empty($new_instance['title'])) { $instance['title'] = sanitize_text_field($new_instance['title']); } if (0 !== absint($new_instance['category'])) { $instance['category'] = absint($new_instance['category']); } if (!empty($new_instance['tags'])) { $tag_slugs = explode(',', $new_instance['tags']); $tag_slugs = array_map('sanitize_title', $tag_slugs); $instance['tags'] = implode(', ', $tag_slugs); } if (0 !== absint($new_instance['postcount'])) { if (absint($new_instance['postcount']) > 50) { $instance['postcount'] = 50; } else { $instance['postcount'] = absint($new_instance['postcount']); } } if (0 !== absint($new_instance['offset'])) { if (absint($new_instance['offset']) > 50) { $instance['offset'] = 50; } else { $instance['offset'] = absint($new_instance['offset']); } } return $instance; } function form($instance) { $defaults = array('title' => '', 'category' => 0, 'tags' => '', 'postcount' => 1, 'offset' => 0, 'sticky' => 1); $instance = wp_parse_args($instance, $defaults); ?>