Forums › Forums › Search & Filter Pro › How to *actually* output the search results title
Tagged: search results title
- This topic has 2 replies, 2 voices, and was last updated 6 years, 4 months ago by Trevor.
-
Anonymous(Private) August 3, 2018 at 2:19 am #184498
Hi guys.
I’ve been here to support to ask why I can’t simply print the search results title, and also talked via skype to someone in support about the issue.
I got pointed to your official bit about it, which simply outputs “search results” on the page rather than any info about what was sorted: https://searchandfilter.com/documentation/search-results/as-an-archive/#update-page-title
And also down some rabbit hole about SEO plugins.
I’ve got a simple solution here that I’d really love to see you put in the developer docs so that other people can solve this problem for what should be a core / simple feature.
The idea is to retrieve the search parameter that’s getting passed to the search results page from the URL, and check that it isn’t empty:
=isset($_GET['NAME_OF_URL_SEARCH_PARAMETER']) ? $_GET['NAME_OF_URL_SEARCH_PARAMETER'] : "";
and pass that parameter to a new variable.
<?php $name_of_variable = isset($_GET['NAME_OF_URL_SEARCH_PARAMETER']) ? $_GET['NAME_OF_URL_SEARCH_PARAMETER'] : ""; ?>
Now that that we have $name_of_variable, we can echo it to print it on the page.
<h2>Search results for <?php echo $name_of_variable; ?></h2>
If there are multiple variables being searched, rinse and repeat.
So my code that works for my 4-dropdown search form results page looks like:
<?php $speaker_name = isset($_GET['_sfm_speaker_name']) ? $_GET['_sfm_speaker_name'] : ""; ?> <?php $fee_range = isset($_GET['_sfm_fee_range']) ? $_GET['_sfm_fee_range'] : ""; ?> <?php $state = isset($_GET['_sfm_state']) ? $_GET['_sfm_state'] : ""; ?> <?php $country = isset($_GET['_sfm_country']) ? $_GET['_sfm_country'] : ""; ?> Search Results for <?php if (!empty($speaker_name)) { echo $speaker_name; } ?> <?php if (!empty($fee_range)) { echo $fee_range; } ?> <?php if (!empty($state)) { echo $state; } ?> <?php if (!empty($country)) { echo $country; } ?>
the !empty might be extraneous but it prevents errors.
I hope this helps someone / I hope you include this in the docs, as this is a key thing to be able to do.
Anonymous(Private) August 3, 2018 at 2:24 am #184499If it helps clarify for people coming after, the parameter name comes from the search page url. so in my example http://mysite.com/search/?_sfm_state=California, someone has searched by the state of California. I’m checking in the php if _sfm_state is set, and if it is set (“isset”), I’m saving the value “california” to the new variable $state.
-
AuthorPosts