I have a woocommerce products per page drop down. It works perfectly but when applied upon search results, it breaks and I use relevanssi for search, here is my code for the drop down/select in my functions.php:-
add_action('woocommerce_before_shop_loop','my_select',25);
function my_select(){
$per_page = filter_input(INPUT_GET,'perpage',FILTER_SANITIZE_NUMBER_INT);
echo "<form class='woocommerce-perpage' method='get'><span>Products per Page:</span>";
echo "<select onchange='this.form.submit()' name='ga_select_ppp'>";
$orderby_options = array(''=>'','40'=>'40','60'=>'60');
foreach($orderby_options as $key=>$value){
echo "<option value='$value'>$value</option>";
}
echo "</select></form>";
}
add_action('pre_get_posts','ga_pre_get_products_query');
function ga_pre_get_products_query($query){
$per_page = filter_input(INPUT_GET,'ga_select_ppp',FILTER_SANITIZE_NUMBER_INT);
global $wp_query;
if($query->is_main_query() && !is_admin() ){
$query->set('posts_per_page',$per_page);
}
}
This works perfectly for anything that doesn't involve the search parameter in the URL. For example, in this page URL, example.com/?s=test&post_type=product upon clicking the drop down for 60 pages instead of example.com/?s=test&post_type=product&ga_select_ppp=60 it goes to this URL example.com/?ga_select_ppp=60 and 60 products per page aren't displayed. So, what relevant hooks and filters of relevanssi needs to be used and how?Thanks