From 0e88e80a9b5aa8e745f2b43ff00e2638c842c28e Mon Sep 17 00:00:00 2001 From: Anthony Talarico Date: Wed, 31 May 2017 09:54:57 -0400 Subject: [PATCH] retaining search terms in the header search input and the member list filter input 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 --- functions.php | 30 ++++++++++++++ glm-member-db/views/front/members/list.html | 15 +++++-- parts/search-filters.php | 22 +++++----- parts/trail-search.php | 45 ++++++++++++++++----- sections/header.php | 8 ++++ 5 files changed, 97 insertions(+), 23 deletions(-) diff --git a/functions.php b/functions.php index 6f53109..a587b62 100644 --- a/functions.php +++ b/functions.php @@ -353,5 +353,35 @@ function remove_cat_from_shop_loop( $q ) { 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'] : ''); ?> diff --git a/glm-member-db/views/front/members/list.html b/glm-member-db/views/front/members/list.html index 396287b..b5f97b9 100644 --- a/glm-member-db/views/front/members/list.html +++ b/glm-member-db/views/front/members/list.html @@ -2,8 +2,15 @@ {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', '')}
{if $settings.list_show_map}
Map
@@ -43,7 +50,7 @@ {/if} {foreach from=$categories item=v} {if $v.parent} - {/if} @@ -66,6 +73,7 @@
{/if} {/if} + {if $settings.list_show_search_region} {if $regions|@count gt 0}
@@ -75,7 +83,8 @@ {/if} {foreach from=$regions item=v} - {/foreach} diff --git a/parts/search-filters.php b/parts/search-filters.php index c9069d7..cf7cc8f 100644 --- a/parts/search-filters.php +++ b/parts/search-filters.php @@ -1,11 +1,11 @@ - $regions, 'cities'=>$cities, 'counties'=>$counties, 'activities' => $activities, 'parks' => $parks, 'destinations' => $destinations); - $search_array = json_encode($search_array); - ?> \ No newline at end of file + \ No newline at end of file diff --git a/parts/trail-search.php b/parts/trail-search.php index ea87a62..de0a863 100644 --- a/parts/trail-search.php +++ b/parts/trail-search.php @@ -4,7 +4,12 @@
Search for Trail - + + + + + +
@@ -13,21 +18,31 @@ @@ -41,19 +56,31 @@ diff --git a/sections/header.php b/sections/header.php index 0a7d3ae..2c079b4 100644 --- a/sections/header.php +++ b/sections/header.php @@ -17,6 +17,14 @@

Trails Reviewed

+ -- 2.17.1