WP: проблемка с сортировкой и wp-pagenavi

gtauter
На сайте с 08.06.2008
Offline
131
1129

Собственно, проблема:

Есть сортировка постов вида:

if ($_POST['select'] == 'title') { $sort = "&orderby=title&order=ASC"; $s1 = ' selected="selected"'; $s2 = ''; }
if ($_POST['select'] == 'newest') { $sort = "&orderby=date&order=DESC"; $s2 = ' selected="selected"'; }
if ($_POST['select'] == 'oldest') { $sort = "&orderby=date&order=ASC"; $s3 = ' selected="selected"'; $s2 = ''; }

Так делается вывод:

<?php query_posts($query_string.'&cat=-10,-11,-30'.$cat.'&offset='.$offset."&".$sort.$args.$args_1); ?>

Проблема в том, что параметры сортировки при переходе на следующую страницу сбрасываются. :(

Никак не могу найти решения.. есть идеи?

В общем проблема в следующем: как подружить pagenavi и динамическую сортировку постов?

С уважением, Евгений. Моя визитка (gtauter.ru). Привет из "Теслы" :)
K
На сайте с 29.06.2005
Offline
76
#1

Добавьте к выводу '&paged='.$paged

[umka]
На сайте с 25.05.2008
Offline
456
#2

Pagenavi, насколько я понимаю, формирует url-ы самостоятельно в соответствии с настройками "Постоянных ссылок".

Т.е. он не просто тупо берёт и добавляет к каждому url-у "&page=N". Поэтому параметры "orderby" и "order" в ссылках отсутствуют.

Вордпрессовский обработчкик "постоянных ссылок" ничего не знает про "сортировки". Поэтому решить задачу можно только научив плагин тупо добавлять к url-ам "&orderby=...&order=...".

Лог в помощь!
gtauter
На сайте с 08.06.2008
Offline
131
#3

Kalian, спасибо, но не помогло. Все также сбрасывается.

[umka:
;8771650]
Вордпрессовский обработчкик "постоянных ссылок" ничего не знает про "сортировки". Поэтому решить задачу можно только научив плагин тупо добавлять к url-ам "&orderby=...&order=...".
__________________

Да, похоже, придется редактировать сам плагин, я уже думал.

Но, например, в блоге Соники есть пример http://www.sonika.ru/blog/wordpress/sort-posts.htm, и в каментах пишут, что с примером pagenavi работает.

umka, спасибо

artrozik
На сайте с 19.02.2008
Offline
180
#4

gtauter, решения нет, как я помню. Смените pagenavi на что нибудь другое.

K
На сайте с 29.06.2005
Offline
76
#5

gtauter, вообще основная масса проблем связана как раз с эти paged, попробуйте еще перед выводом прописать

$paged = get_query_var('paged') ? get_query_var('paged') : 1;

а уже в выводе присвоить paged=$paged

[umka]
На сайте с 25.05.2008
Offline
456
#6
gtauter:

Но, например, в блоге Соники есть пример http://www.sonika.ru/blog/wordpress/sort-posts.htm, и в каментах пишут, что с примером pagenavi работает.

Кстати, да! Работает.

Только что на тестовом ВП поставил этот pagenavi, в разделе к ссылке добавил "&foo=bar", чтобы в итоге получилось http://test.ru/?cat=13&foo=bar

И в ссылках pagenavi оно тоже сохранилось. Т.е. ссылки на страницы стали:

http://test.ru/?cat=13&foo=bar&paged=2

http://test.ru/?cat=13&foo=bar&paged=3

...

gtauter
На сайте с 08.06.2008
Offline
131
#7
Kalian:

gtauter, вообще основная масса проблем связана как раз с эти paged, попробуйте еще перед выводом прописать
$paged = get_query_var('paged') ? get_query_var('paged') : 1;
а уже в выводе присвоить paged=$paged

Спасибо, сейчас буду эксперементировать.

[umka:
;8771780]Кстати, да! Работает.
Только что на тестовом ВП поставил этот pagenavi, в разделе к ссылке добавил "&foo=bar", чтобы в итоге получилось http://test.ru/?cat=13&foo=bar

И в ссылках pagenavi оно тоже сохранилось.

Ммм, это обнадеживает. В моем шаблоне этот вариант не сработал, так что буду разбираться.

artrozik:

gtauter, решения нет, как я помню. Смените pagenavi на что нибудь другое.

Придется, но все же надеюсь, что есть. Еще проблема - найти аналог, да чтобы и работал как надо.. В крайнем случае можно вручную, конечно, написать..

K
На сайте с 29.06.2005
Offline
76
#8

Аналог можно сделать и без плагина, но с напильником - http://iskariot.ru/development/own-pagenavi/

[umka]
На сайте с 25.05.2008
Offline
456
#9
gtauter:

Ммм, это обнадеживает. В моем шаблоне этот вариант не сработал, так что буду разбираться.

может, ЧПУ включены?

так с ходу сложно понять, откуда он берёт url, над которым "шаманит"

gtauter
На сайте с 08.06.2008
Offline
131
#10

Так пока и не получилось вордепресс победить.

Вывел на страницу $query_string, при сортировке к ней добавляются параметры. Как только переходим на следующюю страницу - там остается только paged=[номер страницы]

Что только не делал - без толку. Поменял плагин на Wp-Page Numbers - ничего не изменилось. Сижу, думаю..

Грешил и на ЧПУ, и на плагин кеширования - все отключил, не помогло. Мистика!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий