the header search and member list filter inputs did not retain the search terms after submission, adding
this to the search template files using wp filters
remove_action( 'pre_get_posts', 'remove_cat_from_shop_loop' );
}
+ function get_categories_array($category, $id_field){
+ foreach($category as $key=>$value){
+ $new_array[$value[$id_field]] = $value;
+ }
+ return $new_array;
+}
+
+
+
+add_filter('member_list_header_search', function(){
+ $regions = get_categories_array( apply_filters('glm_getListForSearch', 'region'), 'region');
+ $cities = get_categories_array( apply_filters('glm_getListForSearch', 'city'), 'city');
+ $counties = get_categories_array( apply_filters('glm_getListForSearch', 'county'), 'county');
+ $parks = get_categories_array( apply_filters('glm_getListForSearch','category', "Parks"), 'category');
+ $activities = get_categories_array( apply_filters('glm_getListForSearch','category', "Activities"), 'category');
+ $destinations = get_categories_array( apply_filters('glm_getListForSearch','category', "Destinations"), 'category');
+ $search_array = array('regions'=>$regions, 'cities'=>$cities, 'counties'=>$counties, 'activities' => $activities, 'parks' => $parks, 'destinations' => $destinations);
+ $search_array = json_encode($search_array);
+ return $search_array;
+});
+add_filter('decode_member_list_header_search', function(){
+ return json_decode(apply_filters('member_list_header_search', ''), true);
+});
+$selected_region = (isset($_POST['regionUserSearch'][0]) ? $_POST['regionUserSearch'][0] : '');
+$selected_county = (isset($_POST['counties'][0]) ? $_POST['counties'][0] : '');
+$selected_city = (isset($_POST['cities'][0]) ? $_POST['cities'][0] : '');
+$selected_destination = (isset($_POST['categories'][0]) ? $_POST['categories'][0] : '');
+$selected_activity = (isset($_POST['categories'][1]) ? $_POST['categories'][1] : '');
+$selected_park = (isset($_POST['categories'][2]) ? $_POST['categories'][2] : '');
+$selected_text = (isset($_POST['textSearch']) ? $_POST['textSearch'] : '');
?>
{if $settings.list_map_show_opened}map-opened{else}map-closed{/if}
{if $settings.list_show_search_filters_opened}filters-opened{else}filters-closed{/if}
">
+{if isset($smarty.request.categories[1])}
+ {$selected_activity = $smarty.request.categories[1]}
+{/if}
+{if isset($smarty.request.regionUserSearch[0])}
+ {$selected_region = $smarty.request.regionUserSearch[0]}
+{/if}
+
{include file='front/members/header.html'}
- {apply_filters('glm-member-db-front-members-list-pageTop', '')}
+ {apply_filters('glm-member-db-front-members-list-pageTop', '')}
<div class="glm-member-list-inner-wrapper">
{if $settings.list_show_map}
<div id="glm-member-list-map-toggle" class="button glm-button">Map</div>
{/if}
{foreach from=$categories item=v}
{if $v.parent}
- <option value="{$v.id}"{if $v.default} selected="selected"{/if}>
+ <option value="{$v.id}"{if {$selected_activity} == {$v.id}} selected="selected"{/if}>
{if $v.parent} {/if}{$v.name}
</option>
{/if}
</div>
{/if}
{/if}
+
{if $settings.list_show_search_region}
{if $regions|@count gt 0}
<div>
<option value"">(all)</option>
{/if}
{foreach from=$regions item=v}
- <option value="{$v.id}" {if $v.default} selected="selected"{/if}>
+ {
+ <option value="{$v.region}" {if {$selected_region} == {$v.region}} selected="selected"{/if}>
{$v.name}
</option>
{/foreach}
- <?php
- $regions = apply_filters('glm_getListForSearch', 'region');
- $cities = apply_filters('glm_getListForSearch', 'city');
- $counties = apply_filters('glm_getListForSearch', 'county');
- $activities = apply_filters('glm_getListForSearch', 'category', "Activities");
- $parks = apply_filters('glm_getListForSearch', 'category', "Parks");
- $destinations = apply_filters('glm_getListForSearch', 'category', "Destinations");
-
- $search_array = array('regions'=>$regions, 'cities'=>$cities, 'counties'=>$counties, 'activities' => $activities, 'parks' => $parks, 'destinations' => $destinations);
- $search_array = json_encode($search_array);
- ?>
\ No newline at end of file
+<?php
+$search_array = apply_filters('member_list_header_search', '');
+$decode_array = json_decode(apply_filters('member_list_header_search', ''), true);
+$regions = $decode_array['regions'];
+$counties = $decode_array['counties'];
+$cities = $decode_array['cities'];
+$destinations = $decode_array['destinations'];
+$activities = $decode_array['activities'];
+$parks = $decode_array['parks']
+
+?>
\ No newline at end of file
<!-- <a class="reset-search" href="">Reset Search</a>-->
<form class="text-search-form" method="post" enctype="multipart/form-data" action="<?php echo get_permalink(get_option('glm_members_database_option_members_list_id')); ?>?action=list">
<span>Search for Trail</span>
- <input name="textSearch" type="text" method="post">
+ <?php if($selected_text){ ?>
+ <input name="textSearch" type="text" value="<?php echo $selected_text; ?>">
+ <?php } else { ?>
+ <input name="textSearch" type="text">
+ <?php } ?>
+
<input class="search-button right" type="submit" value="Search" name="submit">
</form>
<select class="header-search region-search" name="regionUserSearch[]" id="">
<option value="">Select a Region</option>
<?php foreach($regions as $region){ ?>
-
- <option value="<?php echo $region['region']; ?>"><?php echo $region['name']; ?></option>
+ <?php if( $selected_region == $region['region']) { ?>
+ <option selected value="<?php echo $region['region']; ?>"><?php echo $region['name']; ?></option>
+ <?php } else { ?>
+ <option value="<?php echo $region['region']; ?>"><?php echo $region['name']; ?></option>
+ <?php } ?>
<?php } ?>
</select>
<select class="header-search county-search" name="counties[]" id="">
<option value="">Select a County</option>
<?php foreach($counties as $county){ ?>
-
- <option value="<?php echo $county['county']; ?>"><?php echo $county['name']; ?></option>
+ <?php if( $selected_county == $county['county']) { ?>
+ <option selected value="<?php echo $county['county']; ?>"><?php echo $county['name']; ?></option>
+ <?php } else { ?>
+ <option value="<?php echo $county['county']; ?>"><?php echo $county['name']; ?></option>
+ <?php } ?>
<?php } ?>
</select>
<select class="header-search city-search" name="cities[]" id="">
<option value="">Select a City</option>
<?php foreach($cities as $city){ ?>
- <option value="<?php echo $city['city']; ?>"><?php echo $city['name']; ?></option>
+ <?php if( $selected_city == $city['city']) { ?>
+ <option selected value="<?php echo $city['city']; ?>"><?php echo $city['name']; ?></option>
+ <?php } else { ?>
+ <option value="<?php echo $city['city']; ?>"><?php echo $city['name']; ?></option>
+ <?php } ?>
<?php } ?>
</select>
<input class="search-button right" type="submit" value="Search" name="submit">
<select class="header-search destination-search" name="categories[]" id="">
<option value="">Select a Destination</option>
<?php foreach($destinations as $destination){ ?>
- <option value="<?php echo $destination['category']; ?>"><?php echo $destination['name']; ?></option>
+ <?php if( $selected_destination == $destination['category']) { ?>
+ <option selected value="<?php echo $destination['category']; ?>"><?php echo $destination['name']; ?></option>
+ <?php } else { ?>
+ <option value="<?php echo $destination['category']; ?>"><?php echo $destination['name']; ?></option>
+ <?php } ?>
<?php } ?>
</select>
<select class="header-search activity-search" name="categories[]" id="">
<option value="">Select an Activity</option>
<?php foreach($activities as $activity){ ?>
- <option value="<?php echo $activity['category']; ?>"><?php echo $activity['name']; ?></option>
+ <?php if( $selected_activity == $activity['category']) { ?>
+ <option selected value="<?php echo $activity['category']; ?>"><?php echo $activity['name']; ?></option>
+ <?php } else { ?>
+ <option value="<?php echo $activity['category']; ?>"><?php echo $activity['name']; ?></option>
+ <?php } ?>
<?php } ?>
</select>
<select class="header-search park-search" name="categories[]" id="">
<option value="">Select a Park</option>
<?php foreach($parks as $park){ ?>
- <option value="<?php echo $park['category']; ?>"><?php echo $park['name']; ?></option>
+ <?php if( $selected_park == $park['category']) { ?>
+ <option selected value="<?php echo $park['category']; ?>"><?php echo $park['name']; ?></option>
+ <?php } else { ?>
+ <option value="<?php echo $park['category']; ?>"><?php echo $park['name']; ?></option>
+ <?php } ?>
<?php } ?>
</select>
<input class="search-button right" type="submit" value="Search" name="submit">
<p>Trails Reviewed</p>
</div>
</div>
+ <?php
+ $selected_region = (isset($_POST['regionUserSearch'][0]) ? $_POST['regionUserSearch'][0] : '');
+ $selected_county = (isset($_POST['counties'][0]) ? $_POST['counties'][0] : '');
+ $selected_city = (isset($_POST['cities'][0]) ? $_POST['cities'][0] : '');
+ $selected_destination = (isset($_POST['categories'][0]) ? $_POST['categories'][0] : '');
+ $selected_activity = (isset($_POST['categories'][1]) ? $_POST['categories'][1] : '');
+ $selected_park = (isset($_POST['categories'][2]) ? $_POST['categories'][2] : '');
+ ?>
<?php include(get_template_directory().'/parts/trail-search.php'); ?>
</div>
</div>