'widget_dpa_available_achievements', 'description' => __( 'Displays a photo grid of the achievements.', 'dpa' ), ) ); parent::__construct( false, __( '(Achievements) Photo Grid', 'dpa' ), $widget_ops ); } /** * Register the widget * * @since Achievements (3.3) */ static public function register_widget() { register_widget( 'DPA_Available_Achievements_Widget' ); } /** * Displays the output * * @param array $args * @param array $instance * @since Achievements (2.0) */ public function widget( $args, $instance ) { $settings = $this->parse_settings( $instance ); // Use these filters $settings['limit'] = absint( apply_filters( 'dpa_available_achievements_limit', $settings['limit'], $instance, $this->id_base ) ); $settings['title'] = apply_filters( 'dpa_available_achievements_title', $settings['title'], $instance, $this->id_base ); // WordPress filters widget_title through esc_html. $settings['title'] = apply_filters( 'widget_title', $settings['title'], $instance, $this->id_base ); echo $args['before_widget']; if ( ! empty( $settings['title'] ) ) echo $args['before_title'] . $settings['title'] . $args['after_title']; // Get the posts $achievements = get_posts( array( 'ignore_sticky_posts' => true, 'no_found_rows' => true, 'numberposts' => $settings['limit'], 'post_status' => 'publish', 'post_type' => dpa_get_achievement_post_type(), 'suppress_filters' => false, ) ); // Bail if no posts if ( empty( $achievements ) ) return; echo '