'widget-recent-posts', 'description' => __( "Your site’s most recent Posts.", 'almia') ); parent::__construct('almia-recent-posts', __('Almia - Recent Posts', 'almia'), $widget_ops); $this->alt_option_name = 'widget_recent_posts'; } /** * Outputs the content for the current Recent Posts widget instance. * * @since 1.0.0 * @access public * * @param array $args Display arguments including 'before_title', 'after_title', * 'before_widget', and 'after_widget'. * @param array $instance Settings for the current Recent Posts widget instance. */ public function widget( $args, $instance ) { if ( ! isset( $args['widget_id'] ) ) { $args['widget_id'] = $this->id; } $title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts', 'almia' ); /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ $title = apply_filters( 'widget_title', $title, $instance, $this->id_base ); $number = ( ! empty( $instance['number'] ) ) ? absint( $instance['number'] ) : 5; if ( ! $number ) $number = 5; $sort = isset( $instance['sort'] ) ? $instance['sort'] : 'date'; $category = isset( $instance['category'] ) ? $instance['category'] : ''; /** * 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( 'almia_widget_posts_args', array( 'posts_per_page' => $number, 'cat' => $category, 'no_found_rows' => true, 'post_status' => 'publish', 'orderby' => $sort, 'ignore_sticky_posts' => true ) ) ); if ($r->have_posts()) : ?>
__('All Categories', 'almia'), 'name' => $this->get_field_name( 'category' ), 'id' => $this->get_field_id( 'category' ), 'selected' => $category, ) ); ?>