Intereting Posts
Пользовательский метабокс не сохраняет данные Якорь только wp_nav_menu Попытка получить имя файла Удалите & nbsp из the_excerpt Ошибка при входе в WordPress Показать ссылки тегов на странице архива? Показывать сообщения в формате «изображение», если смотреть на странице категории, но с комментариями в блоге Пользовательские переменные поиска в wp-запросе? Отображение списка тегов на моей странице архивов Как связать образ с термином taxononmy и опубликовать его на главной странице? Редактирование раздела справки Обслуживание изображений из субдомена (с файлами cookie) Необходимо сортировать сообщения в пользовательских категориях таксономии боковой панели (разделы журнала) путем выбора другой пользовательской таксономии (выпуск журнала №) Авто-почта для нескольких сайтов, таких как Posterous? Пользовательский тип сообщения с использованием стандартных категорий сообщений приводит к 404 при просмотре / cpt / category

Фильтровать и настраивать пользовательский тип сообщения

Я работаю в каталоге клиник.

  • В настоящий момент пользователи могут: искать клиники (cpt) по адресу и лечению
  • заказать по расстоянию и цене
  • фильтр по услугам (Wi-Fi, парковка, …)

У меня проблема, когда я пытаюсь разбивать на страницы результаты.

Результаты фильтруются и сортируются через jQuery, скрывающие и сортирующие клиники в соответствии с их атрибутом данных. Таким образом, он работает только на просматриваемой странице, но не с разбиением на страницы.

Можете ли вы предложить решение?

  1. Может быть, есть способ «сохранить» репозиты и сбросить разбивку на страницы каждый раз, когда клиники фильтруются или сортируются?
  2. должен ли я каждый раз запрашивать запрос, чтобы разбивать их на страницы?

РЕДАКТИРОВАТЬ

Это код каждой клиники:

<div class="daticlinica mt_col-3 clinics"> <div class="terminal clinic" data-distance="57" data-price="25" data-score="4.5"> <img src="http://img.wordpressask.com/custom-post-types/Studio-DentalWellness.jpg"> <h2><a href="http://www.decaneva.it/dwa/clinica/villotta-di-chions/">Villotta di Chions</a></h2> <div class="prestazione">25 €</div> <div class="valutazione"> <b>Valutazione:</b> <i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star-half-o"></i> </div> <div class="distanza"> <b>Distanza:</b> 57 Km<br> <b>Tempo percorrenza:</b> 58 min </div> <div class="services"> <div class="wifi" rel="wifi"><img src="wifi.png" title="wifi" width="40" height="40"></div> <div class="parcheggio" rel="parcheggio"><img src="parcheggio.png" title="parcheggio" width="40" height="40"></div> </div> <div class="book-appointment"> <a class="mt-button margin-top-10 style-blue button-2x" href="#" title="" target="_self">Prenota appuntamento</a> </div> </div> </div> 

Это то, как клиники фильтруются (услуги) согласно атрибуту rel

 var $trs = $('div.daticlinica'); var filters = {}, flag = false; $checks.filter(':checked').each(function () { var rel = $(this).attr('rel'); filters[rel] = filters[rel] || []; filters[rel].push('.'+rel+'[rel="'+this.value+'"]'); flag = true; }) if (flag) { $trs.show(); $.each(filters, function (rel, list) { $trs.not(':has('+list.join()+')').hide(); }); } else { $trs.show(); } 

Таким образом, клиники сортируются в соответствии с атрибутом данных

 jQuery("#sort-button").click( function() { jQuery('.daticlinica').sort(function (a, b) { return jQuery(a).find('.terminal').data('price') - jQuery(b).find('.terminal').data('price'); }).each(function (_, container) { jQuery(container).parent().append(container); }); }); 

Я использую тот же код и для расстояния и оценки.

Это код разбивки на страницы.

 function custom_pagination($numpages = '', $pagerange = '', $paged='') { if (empty($pagerange)) { $pagerange = 2; } /** * This first part of our function is a fallback * for custom pagination inside a regular loop that * uses the global $paged and global $wp_query variables. * * It's good because we can now override default pagination * in our theme, and use this function in default quries * and custom queries. */ global $paged; if (empty($paged)) { $paged = 1; } if ($numpages == '') { global $wp_query; $numpages = $wp_query->max_num_pages; if(!$numpages) { $numpages = 1; } } /** * We construct the pagination arguments to enter into our paginate_links * function. */ $pagination_args = array( 'format' => 'page/%#%', 'total' => $numpages, 'current' => $paged, 'show_all' => False, 'end_size' => 1, 'mid_size' => $pagerange, 'prev_next' => True, 'prev_text' => __('&laquo;'), 'next_text' => __('&raquo;'), 'type' => 'plain', 'add_args' => false, 'add_fragment' => '' ); $paginate_links = paginate_links($pagination_args); if ($paginate_links) { echo "<nav class='custom-pagination'>"; echo "<span class='page-numbers page-num'>Pagina " . $paged . " di " . $numpages . "</span> "; echo $paginate_links; echo "</nav>"; } }