get_default());
?>
array('post'),
'posts_per_page' => (int) $instance['posts_per_page'],
'post_status' => array('publish'),
'ignore_sticky_posts' => true
);
if (!empty($instance['category'])) {
$args['tax_query'][] = array(
'taxonomy' => 'category',
'field' => 'id',
'terms' => $instance['category']
);
}
if (!empty($instance['post_tag'])) {
$args['tax_query'][] = array(
'taxonomy' => 'post_tag',
'field' => 'id',
'terms' => $instance['post_tag']
);
}
if (!empty($instance['post_format'])) {
$args['tax_query'][] = array(
'taxonomy' => 'post_format',
'field' => 'id',
'terms' => $instance['post_format']
);
}
if (isset($args['tax_query']) && (count($args['tax_query']) >= 2)) {
$args['tax_query']['relation'] = ('true' == $instance['relation']) ? 'AND' : 'OR';
}
if (isset($instance['orderby'])) {
switch ($instance['orderby']) {
case 'comment_count':
$args['orderby'] = 'comment_count';
break;
case 'rand':
$args['orderby'] = 'rand';
break;
default:
$args['orderby'] = 'date';
break;
}
} else {
$args['orderby'] = 'date';
}
if (version_compare($wp_version, '3.7', '>=')) {
if (isset($instance['in']) && !empty($instance['in'])) {
$in = $instance['in'];
$y = date('Y', strtotime($in));
$m = date('m', strtotime($in));
$d = date('d', strtotime($in));
$args['date_query'] = array(
array(
'after' => array(
'year' => (int) $y,
'month' => (int) $m,
'day' => (int) $d
)
)
);
}
}
if (!empty($args_extra)) {
return array_merge($args, $args_extra);
} else {
return $args;
}
}
protected function get_default() {
return array(
'title' => '',
'posts_per_page' => 5,
'orderby' => 'date',
'category' => array(),
'post_tag' => array(),
'post_format' => array(),
'relation' => 'OR',
'in' => ''
);
}
}