Function Reference: geodir_event_get_terms
Summary
Filter the past events count in terms array results.
Parameters
- $terms
- (array) (required) Array of terms.
- Default: None
- $taxonomies
- (array) (required) Array of post taxonomies.
- Default: None
- $args
- (array) (required) Terms arguements.
- Default: None
Return Values
- (array)
- Array of terms.
Change Log
Since: 1.1.9
Source File
geodir_event_get_terms() is located in geodir_event_manager/gdevents_functions.php [Line: 1906]
Source Code
function geodir_event_get_terms( $terms, $taxonomies, $args ) {
if ( isset( $args['gd_event_no_loop'] ) ) {
return $terms; // Avoid an infinite loop.
}
$args['gd_event_no_loop'] = true;
$gd_event_post_type = 'gd_event';
$gd_event_taxonomy = $gd_event_post_type . 'category';
if ( !empty( $terms ) && in_array( $gd_event_taxonomy, $taxonomies ) ) {
$query_args = array (
'is_geodir_loop' => true,
'post_type' => $gd_event_post_type,
'gd_location' => true,
);
$new_terms = array();
foreach ( $terms as $key => $term ) {
$new_term = $term;
if ( isset( $term->taxonomy ) && $term->taxonomy == $gd_event_taxonomy ) {
$tax_query = array(
'taxonomy' => $gd_event_taxonomy,
'field' => 'id',
'terms' => $term->term_id
);
$query_args['tax_query'] = array($tax_query);
$new_term->count = geodir_get_widget_listings( $query_args, true );
}
$new_terms[$key] = $new_term;
}
$terms = $new_terms;
}
return $terms;
}