'widget_posts_wrap',
'description' => __( 'Good - Recent Posts', 'good' )
) );
add_filter( 'query_vars', array( $this, 'register_query_var' ) );
}
public function widget( $args, $instance ) {
$default = array(
'widget_title' => __( 'Recent Posts', 'good' ),
'cats' => '',
'tags' => '',
'quantity' => 5,
'order' => 'date',
'display' => 'two-columns',
'not_in' => ''
);
$instance = wp_parse_args( $instance, $default );
$widget_title = apply_filters( 'widget_title', $instance['widget_title'] );
$cats = $instance['cats'];
$tags = $instance['tags'];
$quantity = $instance['quantity'];
$order = $instance['order'];
$display = $instance['display'];
$not_in = $instance['not_in'];
$time = $instance['time'];
if ( is_array( $cats ) ) {
$cats = implode( ',', $cats );
}
if ( is_array( $tags ) ) {
$tags = implode( ',', $tags );
}
echo $args['before_widget'];
if ( ! empty( $instance['widget_title'] ) ) {
echo $args['before_title'] . $widget_title . $args['after_title'];
} else {
echo '
';
}
$paged = ( get_query_var( 'posts_widget_page' ) ) ? get_query_var( 'posts_widget_page' ) : 1;
$query_args = array(
'cat' => $cats,
'tag_slug__in' => $tags,
'orderby' => $order,
'posts_per_page' => $quantity,
'paged' => $paged,
'post_status' => 'publish',
'post__not_in' => $not_in,
'ignore_sticky_posts' => 1,
);
$today = getdate();
if ( $time == '2' ) {
$query_args['year'] = $today["year"];
$query_args['monthnum'] = $today["mon"];
$query_args['day'] = $today["mday"];
}
if ( $time == '3' ) {
$query_args['date_query'] = Array( 'year' => $today["year"], 'week' => date( 'W' ) );
}
if ( $time == '4' ) {
$query_args['year'] = $today["year"];
$query_args['monthnum'] = $today["mon"];
}
$recent = new WP_Query( $query_args );
if ( isset( $args['widget_position'] ) && $args['widget_position'] == 'sidebar' ) {
$display_view = 'no-thumbnail';
} else {
$display_view = ! empty( $display ) ? $display : 'two-columns';
}
if ( ! $recent->have_posts() ) {
return;
} ?>
have_posts() ) : $recent->the_post();
if ( isset( $args['widget_position'] ) && $args['widget_position'] == 'sidebar' ) {
get_template_part( 'template-parts/content-widget', 'no-thumbnail' );
} else {
get_template_part( 'template-parts/content-widget', $display_view );
}
endwhile;
wp_reset_query();
?>
max_num_pages;
if ( ( $max_pages > $paged ) && ( $max_pages > 1 ) ) {
echo '';
}
}
echo $args['after_widget'];
}
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['widget_title'] = strip_tags( $new_instance['widget_title'] );
$instance['cats'] = $new_instance['cats'];
$instance['tags'] = $new_instance['tags'];
$instance['quantity'] = strip_tags( $new_instance['quantity'] );
$instance['order'] = strip_tags( $new_instance['order'] );
$instance['time'] = strip_tags( $new_instance['time'] );
$instance['pagination'] = $new_instance['pagination'];
$instance['display'] = strip_tags( $new_instance['display'] );
$default = array(
'widget_title' => __( 'Recent Posts', 'good' ),
'cats' => '',
'tags' => '',
'quantity' => 5,
'order' => 'date',
'display' => 'two-columns'
);
$instance = wp_parse_args( $instance, $default );
return $instance;
}
public function form( $instance ) {
$default = array(
'widget_title' => __( 'Recent Posts', 'good' ),
'title' => '',
'cats' => '',
'tags' => '',
'quantity' => 5,
'order' => 'date',
'display' => 'two-columns',
'pagination' => ''
);
$instance = wp_parse_args( $instance, $default );
$widget_title = $instance['widget_title'];
$cats = $instance['cats'];
$tags = $instance['tags'];
$quantity = $instance['quantity'];
$order = $instance['order'];
$display = $instance['display'];
$pagination = $instance['pagination'];
?>
/>