- $title = apply_filters('widget_title', empty($instance['title']) ? __('Recent Posts') : $instance['title'], $instance, $this->id_base);
- if ( empty( $instance['number'] ) || ! $number = absint( $instance['number'] ) )
- $number = 10;
+ $title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts' );
+
+ /** This filter is documented in wp-includes/default-widgets.php */
+ $title = apply_filters( 'widget_title', $title, $instance, $this->id_base );
+
+ $number = ( ! empty( $instance['number'] ) ) ? absint( $instance['number'] ) : 5;
+ if ( ! $number )
+ $number = 5;
+ $show_date = isset( $instance['show_date'] ) ? $instance['show_date'] : false;
+
+ /**
+ * Filter the arguments for the Recent Posts widget.
+ *
+ * @since 3.4.0
+ *
+ * @see WP_Query::get_posts()
+ *
+ * @param array $args An array of arguments used to retrieve the recent posts.
+ */
+ $r = new WP_Query( apply_filters( 'widget_posts_args', array(
+ 'posts_per_page' => $number,
+ 'no_found_rows' => true,
+ 'post_status' => 'publish',
+ 'ignore_sticky_posts' => true
+ ) ) );