Function Reference: geodir_display_sort_options
Summary
Display list of sort options available in front end using dropdown.
Global Values
- $wp_query
- (object) (required) WordPress Query object.
- Default: None
Package
GeoDirectory
Change Log
Since: 1.0.0
Source File
geodir_display_sort_options() is located in geodirectory-functions/custom_functions.php [Line: 608]
Source Code
function geodir_display_sort_options() {
global $wp_query;
/**
* On search pages there should be no sort options, sorting is done by search criteria.
*
* @since 1.4.4
*/
if ( is_search() ) {
return;
}
$sort_by = '';
if ( isset( $_REQUEST['sort_by'] ) ) {
$sort_by = $_REQUEST['sort_by'];
}
$gd_post_type = geodir_get_current_posttype();
$sort_options = geodir_get_sort_options( $gd_post_type );
$sort_field_options = '';
if ( ! empty( $sort_options ) ) {
foreach ( $sort_options as $sort ) {
$sort = stripslashes_deep( $sort ); // strip slashes
$label = __( $sort->site_title, 'geodirectory' );
if ( $sort->field_type == 'random' ) {
$key = $sort->field_type;
( $sort_by == $key || ( $sort->is_default == '1' && ! isset( $_REQUEST['sort_by'] ) ) ) ? $selected = 'selected="selected"' : $selected = '';
$sort_field_options .= '';
}
if ( $sort->htmlvar_name == 'comment_count' ) {
$sort->htmlvar_name = 'rating_count';
}
if ( $sort->sort_asc ) {
$key = $sort->htmlvar_name . '_asc';
$label = $sort->site_title;
if ( $sort->asc_title ) {
$label = $sort->asc_title;
}
( $sort_by == $key || ( $sort->is_default == '1' && $sort->default_order == $key && ! isset( $_REQUEST['sort_by'] ) ) ) ? $selected = 'selected="selected"' : $selected = '';
$sort_field_options .= '';
}
if ( $sort->sort_desc ) {
$key = $sort->htmlvar_name . '_desc';
$label = $sort->site_title;
if ( $sort->desc_title ) {
$label = $sort->desc_title;
}
( $sort_by == $key || ( $sort->is_default == '1' && $sort->default_order == $key && ! isset( $_REQUEST['sort_by'] ) ) ) ? $selected = 'selected="selected"' : $selected = '';
$sort_field_options .= '';
}
}
}
if ( $sort_field_options != '' ) {
?>