WordPress.org

Plugin Directory

Changeset 588936


Ignore:
Timestamp:
08/22/12 17:56:01 (20 months ago)
Author:
ryelle
Message:

Use transients API to cache the widget HTML

File:
1 edited

Legend:

Unmodified
Added
Removed
  • meetup-widgets/trunk/vs_meetup_widgets.php

    r556966 r588936  
    240240        if ( $title ) echo $before_title . $title . $after_title; 
    241241        if ( $id ) { 
    242             $vsm = new VsMeetWidget(); 
    243             echo $vsm->get_single_event($id); 
     242            $html = get_transient( 'vsmeet_single_event_'.$id ); 
     243            if ( false === $html ) { 
     244                $vsm = new VsMeetWidget(); 
     245                $html = $vsm->get_single_event($id); 
     246                set_transient( 'vsmeet_single_event_'.$id, $html, apply_filters('vsmeet_expiration', 60*60*.5) ); 
     247            } 
     248            echo $html; 
    244249        } 
    245250        echo $after_widget; 
     
    251256        $instance['title'] = strip_tags($new_instance['title']); 
    252257        $instance['id'] = strip_tags($new_instance['id']); 
     258         
     259        // remove caching of old event 
     260        if (!empty($old_instance['id'])) 
     261            delete_transient( 'vsmeet_single_event_'.$old_instance['id'] ); 
     262         
    253263        return $instance; 
    254264    } 
     
    295305        if ( $title ) echo $before_title . $title . $after_title; 
    296306        if ( $id ) { 
    297             $vsm = new VsMeetWidget(); 
    298             echo $vsm->get_list_events($id,$limit); 
     307            $html = get_transient( 'vsmeet_list_events_'.$id.$limit ); 
     308            if ( false === $html ) { 
     309                $vsm = new VsMeetWidget(); 
     310                $html = $vsm->get_list_events($id,$limit); 
     311                set_transient( 'vsmeet_list_events_'.$id.$limit, $html, apply_filters('vsmeet_expiration', 60*60*.5) ); 
     312            } 
     313            echo $html; 
    299314        } 
    300315        echo $after_widget; 
     
    307322        $instance['id'] = strip_tags($new_instance['id']); 
    308323        $instance['limit'] = intval($new_instance['limit']);  
     324         
     325        // remove caching of old event 
     326        if (!empty($old_instance['id'])) 
     327            delete_transient( 'vsmeet_list_events_'.$old_instance['id'].$old_instance['limit'] ); 
     328         
    309329        return $instance; 
    310330    } 
Note: See TracChangeset for help on using the changeset viewer.