-
AuthorSearch Results
-
November 16, 2016 at 5:49 pm #70670
In reply to: Hide initial results on first page load (continued)
AnonymousInactiveThanks for that! Got it working by testing for
($sf_current_query->get_field_string("_th_private_page_category")=="Page Categories: All Page Categories")
You can close this now, cheers.
November 16, 2016 at 5:17 pm #70658In reply to: Hide initial results on first page load (continued)
AnonymousInactiveNo I’m afraid not, it’s on the client server.
It looks like it might work if I knew how to check for contents of the categories and tags boxes instead of the text search field.
The code you provided looks like ($sf_current_query->get_search_term()==””) checks to see if the text search field is empty. Is there a similar query to check if the categories selection is empty? And the tags selection?
Many thanks.
November 16, 2016 at 2:55 pm #70563In reply to: Get date range from current archive.php url
AnonymousInactiveTrevor,
Between this and another support post that I located, this was indeed the solution:
$sarr = $sf_current_query->get_array();
$fromDate = $sarr[_sf_post_date][active_terms][0][value] ;
$toDate = $sarr[_sf_post_date][active_terms][1][value];Thanks!
November 16, 2016 at 2:04 pm #70549In reply to: Hide initial results on first page load
AnonymousInactiveHi again 🙂
What does the 1726 in the 2nd line of that code refer to? Is that a page ID?
$sf_current_query = $searchandfilter->get(1726)->current_query();
November 16, 2016 at 1:39 pm #70519In reply to: Get date range from current archive.php url
TrevorParticipantDo you know if you have the name correct? You could use PHP to dump the $sf_current_query array, like this:
echo '<pre>'; print_r($sf_current_query); echo '</pre>';
November 15, 2016 at 11:13 am #70334In reply to: Customisation of the search results page
TrevorParticipantOK. The >> is made by your theme and needs to be switched off inside search and filter forms, with Custom CSS:
.bSe .searchandfilter ul li::before {content: '' !important;}
To put the search field and button next to each other, this:
.searchandfilter .sf-field-search { display: inline-block; padding-left: 0 !important; margin-right: 20px; } .searchandfilter .sf-field-submit { display: inline-block; padding-left: 0 !important; }
For the second point, to hide results until a search has been made, I need to know you have placed a copy of the results.php file in your theme or child theme folder, as here:
Assuming that you have, edit that file and replace the content with this:
<?php /** * Search & Filter Pro * * Sample Results Template * * @package Search_Filter * @author Ross Morsali * @link http://www.designsandcode.com/ * @copyright 2015 Designs & Code * * Note: these templates are not full page templates, rather * just an encaspulation of the your results loop which should * be inserted in to other pages by using a shortcode - think * of it as a template part * * This template is an absolute base example showing you what * you can do, for more customisation see the WordPress docs * and using template tags - * * http://codex.wordpress.org/Template_Tags * */ global $searchandfilter; $sf_current_query = $searchandfilter->get(255)->current_query(); if ((!$sf_current_query->is_filtered())&&($sf_current_query->get_search_term()=="")) { echo '<div>Nothing to see here folks!</div>'; } else { if ( $query->have_posts() ) { ?> Found <?php echo $query->found_posts; ?> Results<br /> Page <?php echo $query->query['paged']; ?> of <?php echo $query->max_num_pages; ?><br /> <div class="pagination"> <div class="nav-previous"><?php next_posts_link( 'Older posts', $query->max_num_pages ); ?></div> <div class="nav-next"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php /* example code for using the wp_pagenavi plugin */ if (function_exists('wp_pagenavi')) { echo "<br />"; wp_pagenavi( array( 'query' => $query ) ); } ?> </div> <?php while ($query->have_posts()) { $query->the_post(); ?> <div> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <p><br /><?php the_excerpt(); ?></p> <?php if ( has_post_thumbnail() ) { echo '<p>'; the_post_thumbnail("small"); echo '</p>'; } ?> <p><?php the_category(); ?></p> <p><?php the_tags(); ?></p> <p><small><?php the_date(); ?></small></p> </div> <hr /> <?php } ?> Page <?php echo $query->query['paged']; ?> of <?php echo $query->max_num_pages; ?><br /> <div class="pagination"> <div class="nav-previous"><?php next_posts_link( 'Older posts', $query->max_num_pages ); ?></div> <div class="nav-next"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php /* example code for using the wp_pagenavi plugin */ if (function_exists('wp_pagenavi')) { echo "<br />"; wp_pagenavi( array( 'query' => $query ) ); } ?> </div> <?php } else { echo "No Results Found"; } } ?>
That should work, I hope.
For #3. It would be better to use your theme’s own styling, and to do this I would need to see a more normal results page in your theme that looks OK to you, then we can borrow their styling.
November 8, 2016 at 6:39 pm #69273
RossKeymasterHey Kevin
Sorted it!
Basically what you had done was correct…
is_filtered
returns true if a filter has been selected.This is not true for the search term though, as its not regarded as a filter (perhaps it should be now that I think about it)…
So what I did was also add a condition to see if a user had typed a search term to your template, and now it works as expected –
$sf_current_query->get_search_term()==""
Best
November 2, 2016 at 5:23 pm #68157
TrevorParticipantSomething like this:
<?php /** * Search & Filter Pro * * Sample Results Template * * @package Search_Filter * @author Ross Morsali * @link http://www.designsandcode.com/ * @copyright 2015 Designs & Code * * Note: these templates are not full page templates, rather * just an encaspulation of the your results loop which should * be inserted in to other pages by using a shortcode - think * of it as a template part * * This template is an absolute base example showing you what * you can do, for more customisation see the WordPress docs * and using template tags - * * http://codex.wordpress.org/Template_Tags * */ global $searchandfilter; $sf_current_query = $searchandfilter->get(1726)->current_query(); if ((!$sf_current_query->is_filtered())&&($sf_current_query->get_search_term()=="")) { echo '<div>Nothing to see here folks!</div>'; } else { if ( $query->have_posts() ) { ?> Found <?php echo $query->found_posts; ?> Results<br /> Page <?php echo $query->query['paged']; ?> of <?php echo $query->max_num_pages; ?><br /> <div class="pagination"> <div class="nav-previous"><?php next_posts_link( 'Older posts', $query->max_num_pages ); ?></div> <div class="nav-next"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php /* example code for using the wp_pagenavi plugin */ if (function_exists('wp_pagenavi')) { echo "<br />"; wp_pagenavi( array( 'query' => $query ) ); } ?> </div> <?php while ($query->have_posts()) { $query->the_post(); ?> <div> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <p><br /><?php the_excerpt(); ?></p> <?php if ( has_post_thumbnail() ) { echo '<p>'; the_post_thumbnail("small"); echo '</p>'; } ?> <p><?php the_category(); ?></p> <p><?php the_tags(); ?></p> <p><small><?php the_date(); ?></small></p> </div> <hr /> <?php } ?> Page <?php echo $query->query['paged']; ?> of <?php echo $query->max_num_pages; ?><br /> <div class="pagination"> <div class="nav-previous"><?php next_posts_link( 'Older posts', $query->max_num_pages ); ?></div> <div class="nav-next"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php /* example code for using the wp_pagenavi plugin */ if (function_exists('wp_pagenavi')) { echo "<br />"; wp_pagenavi( array( 'query' => $query ) ); } ?> </div> <?php } else { echo "No Results Found"; } } ?>
I think?
November 2, 2016 at 9:29 am #67748In reply to: double result page for single form
AnonymousInactiveOn your documentation
https://www.designsandcode.com/documentation/search-filter-pro/accessing-search-data/
you say this is possible querying the form from another page:
<?php //grab the active query from our search form //replace <code>1526</code> with the ID of your search form global $searchandfilter; $sf_current_query = $searchandfilter->get(1526)->current_query(); ?>
Whould this display the filtered posts to a php template?
November 1, 2016 at 10:29 am #67509
TrevorParticipantHi
For 1 and 2, you would need to edit the results.php file that you copied into your theme folder. 3 is not possible, yet. It is on our roadmap, but it may be a while yet, to allow form elements in different places on the page.
So, for 1. This is the basic code:
global $searchandfilter; $sf_current_query = $searchandfilter->get(1726)->current_query(); if (!$sf_current_query->is_filtered()) { // put anything you want instead of the results for the page loading without query parameter } else { // put the output part of the results.php here }
Where 1726 is changed to whatever the ID number of your form is.
For 2, simply find those text strings in the results.php file and replace.
-
AuthorSearch Results