• Resolved deiwee

    (@deiwee)


    Hello,

    What would be the best way to combine/add filter values?

    I have posts, with multiple categories, ACF price (with ion.rangeSlider) and ACF country. I would like to filter them together, but post categories overwrite/reset when I select them.

    • Country – dropdown
    • Post category – dropdown
    • Price – slider interval
    • Special option uses another post category

    When I select different post category, or use price slider, values already selected resets. I’am using filtering with ahref and data-category for categories. For price slider I use slider finish event like this (calling again ajaxloadmore.filter resets category selections):

    
    onFinish: function (data) {
    	var from = data.from;
    	var to = data.to;
    	// Data
    	var data = {};
    	data['repeater'] = 'default';
    	data['post-type'] = 'post';
    	data['posts-per-page'] = '8';
    	data['meta-key'] = 'kaina';
    	data['meta-value'] = from + ',' + to;
    	data['meta-compare'] = 'BETWEEN';
    	data['meta-type'] = 'NUMERIC';				
    	data['meta-orderby'] = 'meta_value_num';
    	data['meta-order'] = 'DATE';
    	//console.log(data);
    	ajaxloadmore.filter('fade', 250, data);	
    },
    

    For categories:

    
    <ul class="alm-filter-nav">
    <li><a href="#" data-repeater="default" data-post-type="post" data-category="last-minute" data-posts-per-page="8">Last minute</a></li>
    </ul>
    [...]
    <ul class="dropdown-menu scrollable-menu alm-filter-nav" aria-labelledby="dropdownMenu1">
    <li><a href="#" data-repeater="default" data-post-type="post" data-category="birzelis" data-posts-per-page="8" data-category--not-in="10">Birželis</a></li>
    [...]
    </ul>
    

    I guess I need to use javascript to recheck options already selected and combine them on event? Maybe switch from simple dropdown ahref use to http://selectric.js.org/. Or use “Parsing Query Strings”, or this possible only with Filter Add-on?

    Any help/example would be appreciated 🙂

    The page I need help with: [log in to see the link]

Viewing 1 replies (of 1 total)
  • Thread Starter deiwee

    (@deiwee)

    Okey you can combine meta-key values with javascript like this:

    $(function() {
    	$('#basic').click( function() {		
    		var data ={};				
    		data['repeater'] = 'default';
    		data['post-type'] = 'post';
    		data['posts-per-page'] = '8';
    		data['meta-order'] = 'DATE';
    		data['category'] = 'May';
    		data['meta-key'] = 'country:offerprice';
    		data['meta-value'] = 'Turkey' + ':' + 400 + ',' + 450;
    		data['meta-compare'] = '=:BETWEEN';
    		data['meta-type'] = 'CHAR:NUMERIC';
    		data['meta-relation'] = 'AND'; 
    		ajaxloadmore.filter('fade', 250, data);
    	});
    });

    Or with hyperlink:

    <a href="#" 
    data-repeater="default" 
    data-post-type="post"
    data-posts-per-page="8"
    data-category="May"
    data-meta-key="country:offerprice"
    data-meta-value="Turkey:400,450"
    data-meta-compare="=:BETWEEN"				   
    data-meta-type="CHAR:NUMERIC"				   
    data-meta-relation="AND"				   
    >Egiptas
    </a>
Viewing 1 replies (of 1 total)

The topic ‘Combine filter values’ is closed to new replies.