Function Reference: geodir_listing_loop_filter
Summary
GeoDirectory Listing loop filters.
Global Values
- $wp_query
- (object) (required) WordPress Query object.
- Default: None
- $table
- (string) (required) Listing table name.
- Default: None
- $plugin_prefix
- (string) (required) Geodirectory plugin table prefix.
- Default: None
Package
GeoDirectory
Parameters
- $query
- (object) (required) Current query object.
- Default: None
Return Values
- (object)
- Modified query object.
Change Log
Since: 1.0.0
Todo
$wp_query declared twice – fix it.
Source File
geodir_listing_loop_filter() is located in geodirectory-functions/listing_filters.php [Line: 163]
Source Code
function geodir_listing_loop_filter($query) { global $wp_query, $geodir_post_type, $table, $plugin_prefix, $table, $term; // fix wp_reset_query for popular post view widget if (!geodir_is_geodir_page()) { return; } $geodir_post_type = geodir_get_current_posttype(); if (isset($wp_query->tax_query->queries) && $wp_query->tax_query->queries) { $taxonomies = wp_list_pluck($wp_query->tax_query->queries, 'taxonomy'); if (isset($wp_query->query[$taxonomies[0]])) { $request_term = explode("/", $wp_query->query[$taxonomies[0]]); $request_term = end($request_term); if (!term_exists($request_term)) { $args = array('number' => '1',); $terms_arr = get_terms($taxonomies[0], $args); foreach ($terms_arr as $location_term) { $term_arr = $location_term; $term_arr->name = geodir_ucwords(str_replace('-', ' ', $request_term)); } $wp_query->queried_object_id = 1; $wp_query->queried_object = $term_arr; //print_r($wp_query) ; } } } if (isset($query->query_vars['is_geodir_loop']) && $query->query_vars['is_geodir_loop']) { $table = $plugin_prefix . $geodir_post_type . '_detail'; add_filter('posts_fields', 'geodir_posts_fields', 1); add_filter('posts_join', 'geodir_posts_join', 1); geodir_post_where(); if (!is_admin()) add_filter('posts_orderby', 'geodir_posts_orderby', 1); // advanced filter for popular post view widget global $wp_query; if (!is_admin()) { if (!empty($wp_query->query['with_pics_only'])) { add_filter('posts_join', 'geodir_filter_widget_join', 1000); } add_filter('posts_where', 'geodir_filter_widget_where', 1000); } } return $query; }