Skip to content

Instantly share code, notes, and snippets.

@mjangda
Created June 4, 2010 16:30
Show Gist options
  • Select an option

  • Save mjangda/425622 to your computer and use it in GitHub Desktop.

Select an option

Save mjangda/425622 to your computer and use it in GitHub Desktop.
Utility functions and a sample widget to display the next event
<?php
function events_get_next_event() {
global $wpdb;
$events_table = $wpdb->prefix . 'events';
$date_now = current_time('timestamp');
$query = $wpdb->prepare("SELECT * FROM $events_table WHERE thetime > %s ORDER BY thetime ASC LIMIT 1", $date_now);
$event = $wpdb->get_row($query);
if( !$events || is_wp_error( $event ) )
return false;
return $event;
}
function events_get_last_event() {
global $wpdb;
$events_table = $wpdb->prefix . 'events';
$date_now = current_time('timestamp');
$query = $wpdb->prepare("SELECT * FROM $events_table WHERE thetime < %s ORDER BY thetime DESC LIMIT 1", $date_now);
$event = $wpdb->get_row($query);
if( !$events || is_wp_error( $event ) )
return false;
return $event;
}
function events_get_current_event() {
global $wpdb;
$events_table = $wpdb->prefix . 'events';
$date_now = current_time('timestamp');
$query = $wpdb->prepare("SELECT * FROM $events_table WHERE thetime > %s AND theend < %s ORDER BY thetime ASC LIMIT 1", $date_now, $date_now);
$event = $wpdb->get_row($query);
if( !$events || is_wp_error( $event ) )
return false;
return $event;
}
wp_register_sidebar_widget( 'events_next_event', 'Next Event', 'events_next_event_widget' );
function events_next_event_widget() {
$event = events_get_next_event();
if($event) {
?>
<h4><?php echo $event->title; ?></h4>
<?php
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment