The forums are closed and will be removed when we launch our new site.
Looking for support? You can access the support system via your account.
-
AuthorSearch Results
-
November 17, 2016 at 4:37 pm #70903
In reply to: Settings & Default / Post (wrong default order)
François NantelParticipantHi,
thanks for your help!!!
It wasn’t the wpml plugin,
but the custom code (that I was sure it wasn’t in cause)
I had to add the bold section here to make it workfunction sf_filter_query_args( $query_args, $sfid ) { if($sfid==1225){ global $searchandfilter; $sf_current_query = $searchandfilter->get(1225)->current_query(); $sf_current_query->get_field_string("_sfm_event_archives"); $_sfm_event_archives_array = $sf_current_query->get_array(); $archive_is_check = $_sfm_event_archives_array[_sfm_event_archives][active_terms][0][value]; //print_r($archive_is_check); if($archive_is_check != '1'){ $args_custom = array( <strong>"meta_key" => "imic_event_start_dt", "orderby" => "meta_value_num", "order" => "ASC",</strong> "meta_query" => Array ( "event_archives" => Array ( "key" => "event_archives", "value" => "0" ) ) ); $query_args = array_merge($query_args, $args_custom); } // si aucun filtre d'appliqué //if($sf_current_query->is_filtered()!=1){} } return $query_args; } add_filter( 'sf_edit_query_args', 'sf_filter_query_args', 100, 2 );
Thanks again for your help guys!
Really nice plugin!November 4, 2016 at 4:39 pm #68698In reply to: Default result
François NantelParticipantThis reply has been marked as private.November 4, 2016 at 2:38 pm #68671In reply to: Default result
TrevorModeratorIt IS possible, but I have never done it. You would need to use the is_filtered() function to see if the filter has yet been used (or has been reset) and then use sf_edit_query_args filter to change the incoming filters applied to the page. All this in your child theme functions.php file.
You might find ideas in this github repository from the developer of Search & Filter:
October 29, 2016 at 6:40 pm #67175In reply to: Execute ajax request using javascript?
AshParticipantOne more question.
Is there way to add extra parameter to shortcode?
To set default query.i.e.
[searchandfilter id="1428" show="results" post="123"] function sf_filter_query_args( $query_args, $sfid ) { if($sfid==1428) { /* i'm not sure how to get $shortcode_param */ $query_args['my_post_id'] = $shortcode_param['post']; } return $query_args; } add_filter( 'sf_edit_query_args', 'sf_filter_query_args', 10, 2 );
August 10, 2016 at 4:41 pm #54139In reply to: displaying results
Andrew LevyParticipantThis reply has been marked as private.July 12, 2016 at 7:31 pm #50954In reply to: Query another WordPress table
FrançoisParticipantHi Trevor,
I used the code bellow in the functions.php file. Shoudn’t I ?
Thank you 🙂function filter_function_name( $query_args, $sfid ) {
//if search form ID = 1272, the do something with this query
if($sfid==1272)
{
//modify $query_args here before returning it
print_r($query_args);
echo “Yeahhhhhhhhhhhh”;
}//return $query_args;
}
add_filter( ‘sf_edit_query_args’, ‘filter_function_name’, 10, 2 );April 16, 2016 at 4:11 pm #42945In reply to: Setup pagination for archive page
RossKeymasterThis reply has been marked as private.April 6, 2016 at 8:48 am #41753In reply to: Load defaults on page load
RossKeymasterHi Christian
I have not yet had chance to implement this feature – as mentioned it only works with archives at the moment – I have just realised though if you are a dev and can do some coding this may already be possible using a filter:
So in there you would manually check to see if the current page/post has a specific category:
https://codex.wordpress.org/Function_Reference/has_category
if(has_category( 'dogs', get_the_ID())) { }
And if so, modify the S&F query to only look inside that category
$query_args['category_name'] = "dogs"
So putting it all together:
function update_search_category( $query_args, $sfid ) { //if search form ID = 225, the do something with this query if($sfid==225) { //here we check to see value is associated with the page if(has_category( 'dogs', get_the_ID())) { $query_args['category_name'] = "dogs" } else if(has_category( 'cats', get_the_ID())) { $query_args['category_name'] = "cats" } else if(has_category( 'snakes', get_the_ID())) { $query_args['category_name'] = "snakes" } } return $query_args; } add_filter( 'sf_edit_query_args', 'update_search_category', 10, 2 );
One big caveat I just realised, you may have to disable ajax – this is because an ajax request gets sent off somewhere else, and I think
has_category
will never give the correct result in an ajax request.Thanks
April 5, 2016 at 9:54 am #41634In reply to: Turn off / Ignore Results per page setting
RossKeymasterThere shouldn’t be a custom query inside the filter itself, the filter is used to modify the arguments before they get passed to a query – the code should look like:
function results_map_filter( $query_args, $sfid ) { //if search form ID = 1530, the do something with this query if($sfid==1530) { //modify $query_args here before returning it $query_args['posts_per_page'] = -1; } return $query_args; } add_filter( 'sf_edit_query_args', 'results_map_filter', 10, 20 );
Thanks
April 5, 2016 at 8:57 am #41626In reply to: Turn off / Ignore Results per page setting
TrevorModeratorI have no idea if your code is roughly correct, but it is not semantically correct.
It would look like this to be correct from a PHP point of view, I think:
<?php function results_map_filter( $results_map_args, $sfid ) { if($sfid==1530) { $results_map = get_posts( $results_map_args ); if (have_posts() ) { $results_map_args = array( 'post_type' => 'posttype', 'posts_per_page' => -1, 'post_status' => 'publish', 'cache_results' => true, 'no_found_rows' => true ); } return $results_map_args; } add_filter( 'sf_edit_query_args', 'results_map_filter', 10, 2 ); ?>
You would use this in your child theme functions.php file, which should already have the opening PHP tag
<?php
, so you wouldn’t need that from the code, and it is NOT normal to close the PHP tags?>
at the end of the functions.php file as this can cause a site to crash.I could well be wrong with the code though.
-
AuthorSearch Results