Доброй ночи.
Дано:
У меня есть посты которые фильтруются через
ISOTOPE.
Сейчас получается так, что если мы выбираем NIKE - то фильтруются NIKE
А если выбираем NIKE + Баскетбол - то появляются посты с "NIKE" и отдельно с "Баскетбол".
Надо:
Мне надо чтобы при выборе NIKE+Баскетбол, были посты только по "Найк с баскетболом".
Нашел ссылку
https://isotope.metafizzy.co/filtering.html#combin... по ней сделал фильтр,
тут https://goo.gl/dDVa5G
То есть фильтр выглядит так
<ul id="filters" class="button-group male" data-filter-group="male" >
<? $args = array( 'post_type' => 'catalog', 'taxonomy' => 'male', );?>
<?php $args_brands = array( 'orderby' => 'name', 'hide_empty' => 1, 'parent' => 0,);
$categories = get_terms('male', $args_brands ); if($categories){ foreach ($categories as $cat){ ?>
<li><label><input data-filter=".<?php echo $cat->slug; ?>" value=".<?php echo $cat->slug; ?>" type="checkbox"><span><?php echo $cat->name; ?></span></label></li><? } } ?>
</ul>
<ul id="filters" class="button-group types" data-filter-group="types" >
<? $args = array( 'post_type' => 'catalog', 'taxonomy' => 'sport_tag', );?>
<?php $args_brands = array( 'orderby' => 'name', 'hide_empty' => 1, 'parent' => 0,);
$categories = get_terms('sport_tag', $args_brands ); if($categories){ foreach ($categories as $cat){ ?>
<li><label><input data-filter=".<?php echo $cat->slug; ?>" value=".<?php echo $cat->slug; ?>" type="checkbox"><span><?php echo $cat->name; ?></span></label></li><? } } ?>
</ul>
Исходя из статьи я добавил
button-group и
data-filter-group, и к инпутам привязал
data-filter
Дальше надо вставить скрипт
// store filter for each group
var filters = {};
$demo.on( 'click', '.button', function() {
var $this = $(this);
// get group key
var $buttonGroup = $this.parents('.button-group');
var filterGroup = $buttonGroup.attr('data-filter-group');
// set filter for group
filters[ filterGroup ] = $this.attr('data-filter');
// combine filters
var filterValue = concatValues( filters );
$grid.isotope({ filter: filterValue });
});
// flatten object by concatting values
function concatValues( obj ) {
var value = '';
for ( var prop in obj ) {
value += obj[ prop ];
}
return value;
}
И тут у меня ничего не работает дальше.
Можете помочь кто делал?