Function Reference: geodir_posts_clauses_request
Summary
Adds sorting type – sort by expire.
Global Values
- $wpdb
- (object) (required) WordPress Database object.
- Default: None
- $wp_query
- (object) (required) WordPress Query object.
- Default: None
- $plugin_prefix
- (string) (required) Geodirectory plugin table prefix.
- Default: None
Package
GeoDirectory
Parameters
- $clauses
- (array) (required) {
Attributes of the clause array. @type string $where Where clause. @type string $groupby Groupby clause. @type string $join Join clause. @type string $orderby Orderby clause. @type string $distinct Distinct clause. @type string $fields Fields clause. @type string $limits Limits clause. }.- Default: None
Return Values
- (array)
- Altered clause array.
Change Log
Since: 1.0.0
Source File
geodir_posts_clauses_request() is located in geodirectory-admin/admin_hooks_actions.php [Line: 1871]
Source Code
function geodir_posts_clauses_request($clauses) { global $wpdb, $wp_query, $plugin_prefix; if (is_admin() && !empty($wp_query->query_vars) && !empty($wp_query->query_vars['is_geodir_loop']) && !empty($wp_query->query_vars['orderby']) && $wp_query->query_vars['orderby'] == 'expire' && !empty($wp_query->query_vars['post_type']) && in_array($wp_query->query_vars['post_type'], geodir_get_posttypes()) && !empty($wp_query->query_vars['orderby']) && isset($clauses['join']) && isset($clauses['orderby']) && isset($clauses['fields'])) { $table = $plugin_prefix . $wp_query->query_vars['post_type'] . '_detail'; $join = $clauses['join'] . ' INNER JOIN ' . $table . ' AS gd_posts ON (gd_posts.post_id = ' . $wpdb->posts . '.ID)'; $clauses['join'] = $join; $fields = $clauses['fields'] != '' ? $clauses['fields'] . ', ' : ''; $fields .= 'IF(UNIX_TIMESTAMP(DATE_FORMAT(gd_posts.expire_date, "%Y-%m-%d")), UNIX_TIMESTAMP(DATE_FORMAT(gd_posts.expire_date, "%Y-%m-%d")), 253402300799) AS gd_expire'; $clauses['fields'] = $fields; $order = !empty($wp_query->query_vars['order']) ? $wp_query->query_vars['order'] : 'ASC'; $orderby = 'gd_expire ' . $order; $clauses['orderby'] = $orderby; } return $clauses; }