Динамическая сортировка постов

[ ←Вернуться к стандартному виду ]

Печатная версия

Сортировка постов в рубрике

Сортировка постов в рубрике

Перед началом цикла добавляем:

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

Сортировать по:

Добавим еще сортировку по дате последнего изменения поста, получаем:

[code='php'] $order = "&orderby=date&order=DESC";
$s2 = ' selected="selected"';
if ($_POST['select'] == 'title') { $order = "&orderby=title&order=ASC"; $s1 = ' selected="selected"'; $s2 = ''; }
if ($_POST['select'] == 'newest') { $order = "&orderby=date&order=DESC"; $s2 = ' selected="selected"'; }
if ($_POST['select'] == 'oldest') { $order = "&orderby=date&order=ASC"; $s3 = ' selected="selected"'; $s2 = ''; }
if ($_POST['select'] == 'modified') { $order = "&orderby=modified"; $s4 = ' selected="selected"'; $s3 = ''; }
?>

Сортировать:

Как видите, добавить или убрать фильтр сортировки довольно легко (про параметры query_posts).

Да, кстати, мопед не мой, взяла идею отсюда http://wordpress.org/support/topic/189864?replies=6#post-827607
UPD оказывается код из Темы Dimox'a «каталог статей»


Комментариев: 50, оставить свой »

Страницы: [5] 4 3 2 1 » Показать все

  1. # 50 флес 15.02.2016 в 11:06

    что за запись 6 [code='php'] ?????
    ломает весь вывод

  2. # 49 Наталья (1) 14.01.2015 в 18:16

    Подскажите, пожалуйста, как сделать, чтобы в разделе новости все посты были не на одной странице, а делились, например, 1,2,3.. страницы или предыдущие записи?спасибо.

  3. # 48 Сергей 04.07.2014 в 15:56

    Есть ли вариант сделать сортировку ссылками?

  4. # 47 Алексей 29.05.2014 в 15:27

    Возможна ли реализация данного функционала под ul li "стилизованный select"? Если да то как? Я в этом деле человек новый.

  5. # 46 Виталий 09.04.2012 в 10:35

    Сортирует, но какой смысл, если навигация не работает???
    WP Smart Sort проставил, сортирует, навигация работает, но в ленте по 2 одинаковых поста выходят, а в рубриках ошибка - "не найдено"
    Уффф!

  6. # 45 vovasik 18.03.2012 в 17:13

    ну да так все и оказалось)почему вот зачем именно POST-ом передавать эти какие в этом плюсы, вот GET-ом хоть пагинация не нарушается :( что за стиль программирования у вас такой....

  7. # 44 vovasik 13.03.2012 в 14:07

    Круто вот только навигация  не будет работать

  8. # 43 Феликс 11.01.2012 в 18:34

    вот интересно, оказалось что если вывод делать как здесь <?php $posts = query_posts(order); ?>, то строка вида
    if ($_POST['select'] == 'rating') { $order = "gdsr_sort=rating&sort_order=asc"; $s5 = ' selected="selected"'; $s4 = ''; }
    работает, а если вывод сделать как у Dimoxa
    <?php $posts = query_posts($query_string . $order); ?>
    то сортировка по рейтингу от GD star rating работать перестает, а стандартные сортировки по $orderby работают.
    Почему из-за $query_string перестают работать команды GD star rating?
    Есть предположения?

  9. # 42 Феликс 07.01.2012 в 21:42

    Никак не пойму как добавить запрос на сортировку по рейтингу вида query_posts("gdsr_sort=rating");
    в динамическую сортировку Dimox`a типа

    if ($_POST['select'] == 'title') { $order = "&orderby=title&order=ASC"; $s1 = ' selected="selected"'; $s2 = ''; }
    if ($_POST['select'] == 'newest') { $order = "&orderby=cost&order=DESC"; $s2 = ' selected="selected"'; }
    if ($_POST['select'] == 'oldest') { $order = "&orderby=cost&order=ASC"; $s3 = ' selected="selected"'; $s2 = ''; }
    if ($_POST['select'] == 'rating_h') { $order = что сюда писать? ; $s4 = ' selected="selected"'; $s3 = ''; }
    Подскажите пожалуйста, если вам не сложно :-)

  10. # 41 gtauter 06.04.2011 в 18:17

    Соника, добрый день! Хотел у Вас попросить помощи, сам уже весь моск сломал. :)
    Имеется сортировка вида (там побольше, но общий принцип такой)
    if ($_POST['payed'] == "Платные") {$args = "&meta_key=payed_value&meta_value=Да";}
    if ($_POST['free'] == "Бесплатные") {$args = "&meta_key=payed_value&meta_value=Нет";}
    Выводится все это так:
    query_posts($query_string.'&cat=-10,-11,-30'.$sort.$args.$args_1)
    Для навигации использую pagenavi. Ну и, собственно, проблема: при переходе на следующие страницы настройки сортировки слетают (и смысла в них, получается, нет). Выводил $query_string эхом: при выборе кнопок сортировки добавляются нужные значения, при переходе на следующие страницу остается только paged=[номер].
    Не могли бы Вы хотя бы подсказать, в каком направлении копать? Спасибо, с уважением.

Страницы: [5] 4 3 2 1 » Показать все

Написать комментарий


Ручная модерация комментов. Все саттелиты — в топку! Даже не сомневайтесь. Для вопросов о вордпресс не по теме поста есть два русскоязычных форума по wordpress.


Подписаться, не комментируя

[ ←Вернуться к стандартному виду ]

Печатная версия