Не работает сортировка
Хочу сделать сортировку записей по дате, просмотрам и загрузкам у себя на сайте. Сайт на WordPress
Нашел шаблон кода, но он не работает, при вставке - зависает главная страница и рубрики.
<?php if ($_GET['select'] == 'newest') { $order = "&orderby=date&order=DESC"; $s1 = ' selected="selected"'; } if ($_GET['select'] == 'lastest') { $order = "&orderby=date&order=ASC"; $s2 = ' selected="selected"'; } if ($_GET['select'] == 'title') { $order = "&orderby=title&order=ASC"; $s3 = ' selected="selected"'; } if ($_GET['select'] == 'correct') { $order = "&orderby=modified"; $s4 = ' selected="selected"'; } ?> <form method="get" id="order"> <select name="select" onchange='this.form.submit()' style="width:200px"> <option value="newest"<?=$s1?>>по дате (сначала новые)</option> <option value="lastest"<?=$s2?>>по дате (сначала старые)</option> <option value="title"<?=$s3?>>по заголовку</option> <option value="correct"<?=$s4?>>по дате изменения</option> </select> </form> <?php global $query_string; // параметры базового запроса query_posts($query_string.'&'.$order); // базовый запрос + свои параметры ?>
Подскажите, код актуальный для WordPress? Если да, то можете подсказать как сделать такую сортировку? Или подтолкнуть в верном направлении.
P.S. Ответа на этот вопрос в интернете нет. Думаю будет полезно многим.
Думаю проблема тут:
вместо orderby=date Возможно orderby=post_date?
https://wp-kama.ru/function/query_posts#datetime тут подробнее
для сортировки используется date. post_date - для выборки постов из базы данных.
два раза амперсанд. Зачем?
Проблема уже решилась частично. Код вставил в index.php(раньше вставлял в content.php). По дате сортирует отлично. Вот с просмотрами и загрузками проблемно.
С плагинов Pageviews и Kama Click Counter не могу достать данные для сортировки.
Pageviews не хранит данные локально, он закидает их на свой сервер. Пришлось менять плагин счетчика просмотров. С другим всё получилось. А вот плагин количества загрузок не хочется менять... не ведаю как достать инфу оттуда для сортировки.