Forums Forums Search Search Results for 'sf_current_query'

Viewing 10 results - 171 through 180 (of 318 total)
  • Author
    Search Results

  • Trevor
    Participant

    This would depend on the layout template being used for your page. That would depend on your theme or page builder/content plugin that you are using, or, if you are using our shortcode display results method and our results.php template file, it would look like this:

    global $searchandfilter;
    $sf_current_query = $searchandfilter->get(1024)->current_query();
    if ((!$sf_current_query->is_filtered())&&($sf_current_query->get_search_term()=="")) {
      echo '<div>Nothing to see here folks!</div>'; 
    } else {
      // your template archive code/loop OR results.php code here
    }

    Change 1024 to the ID number of your form (from the form shortcode).


    Trevor
    Participant

    It does indeed make sense. Here is how you would code what you want to do:

    global $searchandfilter;
    $sf_current_query = $searchandfilter->get(1024)->current_query();
    if ((!$sf_current_query->is_filtered())&&($sf_current_query->get_search_term()=="")) {
      echo '<div>Nothing to see here folks!</div>'; 
    } else {
      // your template archive code/loop OR results.php code here
    }

    Change 1024 to the ID number of your form (from the form shortcode).

    #173861

    In reply to: Select Box Like Ted


    Anonymous
    Inactive

    This is the output (the terms are there for post_types—pages and practices) but I can’t seem to display it with in the same manner as the categories.

    <?php $args = array(
    	"str" 					=> '<ul class="filters-list"><li>%2$s<i class="fa fa-times"></i></li></ul>', 
    	"delim" 				=> array('<i class="fa fa-times"></i></li> <li>', '–'), 
    	"field_delim"				=> ' , ', 
    	"show_all_if_empty"			=> false 
    						);
    						
    echo $sf_current_query->get_fields_html(
    	array("_sft_category","post_types"), 
    	$args
    ); 
    												
    echo '<pre>';
    print_r($sf_current_query);
    echo '</pre>';
    ?>

    output:

    Search_Filter_Active_Query Object
    (
    [sfid] => 299
    [is_set:Search_Filter_Active_Query:private] => 1
    [query_array:Search_Filter_Active_Query:private] => Array
    (
    [_sft_category] => Array
    (
    [name] => Categories
    [singular_name] => Category
    [all_items_label] => All Categories
    [type] => taxonomy
    [active_terms] => Array
    (
    [0] => Array
    (
    [id] => 56
    [name] => Community Development
    [value] => community-development
    [count] => 5
    )

    [1] => Array
    (
    [id] => 57
    [name] => Environment
    [value] => environment
    [count] => 1
    )

    )

    )

    [post_types] => Array
    (
    [name] => Post Types
    [singular_name] => Post Type
    [all_items_label] => All Post Types
    [type] => post_type
    [active_terms] => Array
    (
    [0] => Array
    (
    [name] => Practices
    [value] => practice
    )

    )

    )

    )

    [form_fields:Search_Filter_Active_Query:private] => Array
    (
    [search] => Array
    (
    [type] => search
    [heading] =>
    [placeholder] => Search …
    [accessibility_label] => Enter Your Search Terms
    )

    [_sft_category] => Array
    (
    [type] => category
    [input_type] => checkbox
    [heading] =>
    [accessibility_label] => Select A Topic From The List
    [all_items_label] => Topics
    [show_count] => 0
    [hide_empty] => 1
    [hierarchical] => 0
    [include_children] => 0
    [drill_down] => 0
    [sync_include_exclude] => 1
    [combo_box] => 1
    [no_results_message] =>
    [operator] => and
    [order_by] => default
    [order_dir] => asc
    [exclude_ids] =>
    [taxonomy_name] => category
    )

    [post_type] => Array
    (
    [post_types] => Array
    (
    [page] => 1
    [practice] => 1
    )

    [type] => post_type
    [input_type] => select
    [heading] =>
    [all_items_label] => All Types
    [accessibility_label] => Select Section Type From The List
    [combo_box] => 0
    [no_results_message] =>
    )

    )

    [query_str:Search_Filter_Active_Query:private] => -1
    [plugin_slug] => search-filter
    [form_settings] => Array
    (
    [use_template_manual_toggle] => 1
    [enable_taxonomy_archives] => 0
    [enable_auto_count] => 0
    [auto_count_refresh_mode] => 1
    [auto_count_deselect_emtpy] => 0
    [template_name_manual] => search.php
    [page_slug] => advanced-search
    [post_types] => Array
    (
    [practice] => 1
    )

    [post_status] => Array
    (
    [publish] => 1
    )

    [use_ajax_toggle] => 1
    [scroll_to_pos] => 0
    [pagination_type] => normal
    [custom_scroll_to] =>
    [use_relevanssi] => 1
    [use_relevanssi_sort] => 1
    [auto_submit] => 1
    [display_results_as] => archive
    [update_ajax_url] => 1
    [only_results_ajax] =>
    [ajax_target] => #search-filter-results-299
    [ajax_links_selector] => .pagination a
    [infinite_scroll_container] =>
    [infinite_scroll_trigger] => -100
    [infinite_scroll_result_class] =>
    [show_infinite_scroll_loader] => 1
    [results_per_page] => 9999999
    [exclude_post_ids] =>
    [field_relation] => and
    [default_sort_by] => date
    [sticky_posts] =>
    [default_sort_dir] => desc
    [default_meta_key] => _additional_settings
    [default_sort_type] => numeric
    [secondary_sort_by] => 0
    [secondary_sort_dir] => desc
    [secondary_meta_key] => _additional_settings
    [secondary_sort_type] => numeric
    [taxonomies_settings] => Array
    (
    [category] => Array
    (
    [include_exclude] => exclude
    [ids] => 1
    )

    [post_tag] => Array
    (
    [include_exclude] => include
    [ids] =>
    )

    [post_format] => Array
    (
    [include_exclude] => include
    [ids] =>
    )

    [luv_portfolio_categories] => Array
    (
    [include_exclude] => include
    [ids] =>
    )

    [luv_portfolio_tags] => Array
    (
    [include_exclude] => include
    [ids] =>
    )

    )

    [results_url] =>
    )

    [cache_table_name] => wp_csf_search_filter_cache
    [term_results_table_name] => wp_csf_search_filter_term_results
    [field_values] => Array
    (
    [_sft_category] => Array
    (
    [0] => community-development
    [1] => environment
    )

    [post_types] => Array
    (
    [0] => practice
    )

    )

    )

    #173724

    In reply to: Select Box Like Ted


    Trevor
    Participant

    Assuming that Post Type is one of the search fields, it should work in exactly the same way. If it does not, you need to print out the entire search/filter array and examine the structure, like this:

    $sf_current_query_array = $searchandfilter->get(1446)->current_query()->get_array();
    echo '<pre>';
    print_r($sf_current_query_array);
    echo '</pre>';

    Change the ID accordingly for your form.

    And then check to see if the terms you need are contained in that.

    #173537

    Anonymous
    Inactive

    Ok, turns out I was way overengineering this. The simple solution is to put he PHP block INSIDE the element that the AJAX results load into. Like this:

    <div  id="ajax-results">
    <?php
    
    	global $searchandfilter;
    	$sf_current_query = $searchandfilter->get(12192)->current_query();
    	echo $sf_current_query->get_fields_html(
    		array("_sft_travelmonth","_sft_destination", "_sft_activities"), 
    		$args
    	);
    ?>
    #171986

    In reply to: Display multiple terms


    Anonymous
    Inactive

    Trevor, thanks again for spending time with me today. I really appreciated it.

    Good news, I finally figured it out!

    Here’s the happy code:

    <?php 
    
    	global $searchandfilter;
    	
    	$args = array(
    		"str" 					=> '%2$s', 
    		"delim" 				=> array(", ", " - "), 
    		"field_delim"			=> ', ', 
    		"show_all_if_empty"		=> false 
    	);
     
    $sf_current_query = $searchandfilter->get(99801)->current_query()->get_array();
    $sf_current_style_query = $searchandfilter->get(99801)->current_query()->get_fields_html(array("_sft_style", "_sft_name"),$args);
    $sf_current_cuisine_query = $searchandfilter->get(99801)->current_query()->get_fields_html(array("_sft_cuisine", "_sft_name"),$args);
    	
    echo '<strong>Filters</strong>';
    
    if ( empty($sf_current_query ) ) {
      echo ' &bull; ' . "All" . "<br /><br />";
    } else {
    
      echo ' &bull; ' . $sf_current_query['_sft_category']['active_terms'][0]['name'] . ' &bull; ' . $sf_current_query['_sfm_wpcf-location-city']['active_terms'][0]['name'] . ' &bull; ' . $sf_current_style_query . ' &bull; ' . $sf_current_cuisine_query;
    	echo "<br /><br />";
    }
    ?>

    Cheers!

    #171733

    In reply to: Display multiple terms


    Anonymous
    Inactive

    Okay, good news, I’m making progress…

    This works for the array:

    <?php 
    
    global $searchandfilter;
    $sf_current_query = $searchandfilter->get(99801)->current_query();
    
    if ( empty($sf_current_query ) ) {
      echo '<strong>Filters</strong>' . ' &bull; ' . "All" . "<br /><br />";
    } 
      else {
        $args = array(
        "str"  => '%2$s', 
        "delim"  => array(", ", " - "), 
        "field_delim"  => ', ', 
        "show_all_if_empty"  => false 
      );
      echo '<strong>Filters</strong>' . ' &bull; ' . $sf_current_query->get_fields_html(array("_sft_cuisine", "_sft_name"), $args);
      }
    	
      echo '<br />';
    ?>

    Now I need to pull in the $key[‘active_terms’][0][‘name’] from the original code (it will display before the array).

    That will give me what I’m after…
    Filters • Florida • Caribbean, Mexican

    How do I combine it?

    #171651

    In reply to: Display multiple terms


    Trevor
    Participant

    You are correct. You need to examine the data structure of the filter array and then, where multiple values are permitted, use a loop to output them.

    You can print the filter array to screen with code like this:

    $sf_current_query = $searchandfilter->get(1446)->current_query();
    echo '<pre>';
    print_r($sf_current_query->get_array());
    echo '</pre>';

    But then it is a matter of coding it in PHP. I cannot see an example code snippet on our forum though. I would have thought it possible to replace echo with explode where you are handling an array?

    #171426

    Anonymous
    Inactive

    I also tried what you wrote here:
    https://support.searchandfilter.com/forums/topic/how-do-i-hide-initial-results/page/2/
    adding

    if ( $query->have_posts() )
    {
        global $searchandfilter;
    	$sf_current_query = $searchandfilter->get(40276)->current_query();
    	if ($sf_current_query->is_filtered()) {
    	?>

    to the results.php file but the results are now completely hidden – on the initial page load and they are not showing after the search.

    #169245

    Trevor
    Participant

    But I don’t access it using get_fields_html. I do it like this:

    global $searchandfilter;
    $sf_current_query = $searchandfilter->get(934)->current_query()->get_array();
    $my_post_type = $sf_current_query[post_type][active_terms][0][value];
Viewing 10 results - 171 through 180 (of 318 total)