Function Reference: geodir_event_widget_events_get_order
Summary
This function has not been documented yet.
Source File
geodir_event_widget_events_get_order() is located in geodir_event_manager/gdevents_template_functions.php [Line: 1359]
Source Code
function geodir_event_widget_events_get_order( $query_args ) { global $wpdb, $plugin_prefix, $gd_query_args, $table; if ( empty( $gd_query_args ) || empty( $gd_query_args['is_geodir_loop'] ) ) { return $wpdb->posts . ".post_date DESC, "; } $table = $plugin_prefix . 'gd_event_detail'; $current_date = date_i18n( 'Y-m-d', current_time( 'timestamp' ) ); $sort_by = !empty( $query_args['order_by'] ) ? $query_args['order_by'] : ''; switch ( $sort_by ) { case 'latest': case 'newest': $orderby = $wpdb->posts . ".post_date DESC, "; break; case 'featured': $orderby = $table . ".is_featured ASC, "; break; case 'high_review': $orderby = $table . ".rating_count DESC, " . $table . ".overall_rating DESC, "; break; case 'high_rating': $orderby = $table . ".overall_rating DESC, "; break; case 'random': $orderby = "RAND(), "; break; case 'upcoming': $orderby = "(CASE WHEN DATEDIFF(DATE(" . EVENT_SCHEDULE . ".event_date), '" . $current_date . "') < 0 THEN 1 ELSE 0 END), ABS(DATEDIFF(DATE(" . EVENT_SCHEDULE . ".event_date), '" . $current_date . "')) ASC, " . EVENT_SCHEDULE . ".event_starttime ASC, "; break; default: $orderby = $wpdb->posts . ".post_title ASC, "; break; } if ( $orderby != 'upcoming' ) { $orderby .= "(CASE WHEN DATEDIFF(DATE(" . EVENT_SCHEDULE . ".event_date), '" . $current_date . "') < 0 THEN 1 ELSE 0 END), ABS(DATEDIFF(DATE(" . EVENT_SCHEDULE . ".event_date), '" . $current_date . "')) ASC, " . EVENT_SCHEDULE . ".event_starttime ASC, "; } return $orderby; }