break;
case 'checkbox':
// convert name to lower case and replace spaces with _
- $field_name = str_replace( ' ', '_', strtolower( $field['field_name'] ) );
+ $field_name = preg_replace( '/[ -]/', '_', strtolower( $field['field_name'] ) );
if ( isset( $_REQUEST[$field_name] ) && filter_var( $_REQUEST[$field_name], FILTER_VALIDATE_BOOLEAN ) ) {
$queryParts[] = " T.id in (
SELECT ref_dest
}
return $queryParts;
});
+add_filter('glm-member-db-front-search-query-orderby', function($originalOrderBy){
+ // Order by clause for Just Arrived.
+ $orderBy = " (
+ SELECT CASE WHEN field_data = 'Yes' THEN 0 ELSE 1 end
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data
+ WHERE field_id = (SELECT id
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields
+ WHERE field_name = 'Just Arrived')
+ AND ref_dest = T.id) ";
+ // Order by clause for Red Hot Deal.
+ $orderBy .= ", (
+ SELECT CASE WHEN field_data = 'Yes' THEN 0 ELSE 1 end
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data
+ WHERE field_id = (SELECT id
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields
+ WHERE field_name = 'Red Hot Deal')
+ AND ref_dest = T.id) ";
+ // Order by clause for Coming Soon.
+ $orderBy .= ", (
+ SELECT CASE WHEN field_data = 'Yes' THEN 0 ELSE 1 end
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_field_data
+ WHERE field_id = (SELECT id
+ FROM " . GLM_MEMBERS_FIELDS_PLUGIN_DB_PREFIX . "custom_fields
+ WHERE field_name = 'Coming Soon')
+ AND ref_dest = T.id) ";
+ $orderBy .= ", $originalOrderBy DESC ";
+ return $orderBy;
+});
add_filter('glm_custom_fields', function($attribute, $id = 0) {
global $wpdb;