'ascendoor-widget magazine-grid-section style-1', 'description' => __( 'Retrive Posts Grid Widgets', 'ascendoor-magazine' ), ); parent::__construct( 'ascendoor_magazine_magazine_grid_widget', __( 'Ascendoor Posts Grid Widget', 'ascendoor-magazine' ), $ascendoor_magazine_grid_widget_ops ); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { if ( ! isset( $args['widget_id'] ) ) { $args['widget_id'] = $this->id; } $grid_title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : ''; $grid_title = apply_filters( 'widget_title', $grid_title, $instance, $this->id_base ); $grid_button_label = ( ! empty( $instance['button_label'] ) ) ? $instance['button_label'] : ''; $grid_post_count = isset( $instance['number'] ) ? absint( $instance['number'] ) : 6; $grid_post_offset = isset( $instance['offset'] ) ? absint( $instance['offset'] ) : ''; $grid_category = isset( $instance['category'] ) ? absint( $instance['category'] ) : ''; $grid_button_link = ( ! empty( $instance['button_link'] ) ) ? $instance['button_link'] : esc_url( get_category_link( $grid_category ) ); $grid_orderby = isset( $instance['orderby'] ) && in_array( $instance['orderby'], array( 'title', 'date' ) ) ? $instance['orderby'] : 'date'; $grid_order = isset( $instance['order'] ) && in_array( $instance['order'], array( 'asc', 'desc' ) ) ? $instance['order'] : 'desc'; echo $args['before_widget']; ?>
'post', 'posts_per_page' => absint( $grid_post_count ), 'offset' => absint( $grid_post_offset ), 'orderby' => $grid_orderby, 'order' => $grid_order, 'cat' => absint( $grid_category ), ); $query = new WP_Query( $grid_widgets_args ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>