'LatestActivitiesWidget', 'description' => __( 'Will show your latest activities from strava.com.', 'wp-strava' ), ); parent::__construct( 'wp-strava', __( 'Strava Latest Activities List', 'wp-strava' ), $widget_ops ); add_action( 'wp_enqueue_scripts', array( $this, 'maybe_enqueue' ) ); } public function maybe_enqueue() { if ( is_active_widget( false, false, $this->id_base ) ) { wp_enqueue_style( 'wp-strava-style' ); //only load this when wigit is loaded } } /** @see WP_Widget::widget */ public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Latest Activities', 'wp-strava' ) : $instance['title'] ); $activities_args = array( 'athlete_token' => isset( $instance['athlete_token'] ) ? $instance['athlete_token'] : null, 'strava_club_id' => isset( $instance['strava_club_id'] ) ? $instance['strava_club_id'] : null, 'quantity' => isset( $instance['quantity'] ) ? $instance['quantity'] : null, ); echo $args['before_widget']; if ( $title ) { echo $args['before_title'] . $title . $args['after_title']; } echo WPStava_LatestActivities::get_activities_html( $activities_args ); echo $args['after_widget']; } /** @see WP_Widget::update */ public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); $instance['athlete_token'] = strip_tags( $new_instance['athlete_token'] ); $instance['strava_club_id'] = strip_tags( $new_instance['strava_club_id'] ); $instance['quantity'] = $new_instance['quantity']; return $instance; } /** @see WP_Widget::form */ public function form( $instance ) { $title = isset( $instance['title'] ) ? esc_attr( $instance['title'] ) : __( 'Latest Activities', 'wp-strava' ); $all_tokens = WPStrava::get_instance()->settings->get_all_tokens(); $athlete_token = isset( $instance['athlete_token'] ) ? esc_attr( $instance['athlete_token'] ) : WPStrava::get_instance()->settings->get_default_token(); $strava_club_id = isset( $instance['strava_club_id'] ) ? esc_attr( $instance['strava_club_id'] ) : ''; $quantity = isset( $instance['quantity'] ) ? absint( $instance['quantity'] ) : 5; ?>