$('.js-post-filter').on('click',function(e){
e.preventDefault();
var curFilter = $(this).data('filter'),
guidesPage = site_url+"/guides";
localStorage.setItem("singleFilter",curFilter);
window.location.href = guidesPage;
});
$(window).on('load',function () {
var singleFilter = localStorage.getItem("singleFilter");
if (singleFilter !== null){
tags.each(function () {
if($(this).data('filter') === singleFilter) {
$(this).trigger('click');
}
});
localStorage.clear();
}
});
js-post-filter- кнопка фильтра на странице single-guides.php, при нажатии берем значение её data атрибута(это значение фильтра по которому происходит сортировка).
site_url+"/guides"- урл сайта + название страницы в адресной строке на которую нужно передать значение.
localStorage.setItem("singleFilter",curFilter);- передаем значение на другую страницу под названием
singleFilter.
window.location.href = guidesPage;- делаем перенаправление на нужную страницу.
onloadтак как по другому не успевало подхватится переданное значение.
singleFilterзаписываем переданное значение и проверяем есть ли оно вообще (проверка null).
tags- наши кнопки фильтра на странице guides.php. Проходимся по ним циклом и ищем есть ли там совпадение с переданным значением, если есть делаем событие клик по совпавшей кнопке.
localStorage.clear();- очищаем localStorage.
$(document).on('click', 'a',function(e){
if($(this).is('a:not([data-fancybox])') && $(this).is('a[href^="'+site_url+'"]')){
//e.preventDefault();
locationPrev = window.location.href;
var url = $(this).attr('href'),
toLoad = url+' #wrapper',
content = $('#ajax-content'),
opacityContent = $('#content');
opacityContent.animate({opacity: 0.1},loadContent());
function loadContent(){
setTimeout(function (){
content.load(toLoad,'',function(r, s, x){
$.getScript(home_url+"/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js");
$.getScript(home_url+"/wp-content/plugins/contact-form-7/includes/js/scripts.js");
$.getScript(template_dir+"/js/map.js");
$('html,body').animate({scrollTop: 0}, 500);
opacityContent.animate({opacity: 1},500);
});
},300);
}
// А вот так просто меняется ссылка
if(url != window.location){
window.history.pushState(null, null, url);
}
return false;
}
});
function heightTitle(parent, el){
var height = 0;
$(parent).find(el).css('height','auto');
setTimeout(function(){
$(parent).find(el).each(function(){
if($(this).height() > height){
height = $(this).height();
}
});
$(parent).find(el).height(height);
},300);
}