@sergo573

Как скрыть конец ссылки в адресной строке?

Всем доброго дня!
Имеется фильтр записей сделанный на php в wordpress:
<?php

if ($_GET['select'] == 'a1') { $order = "&orderby=views&order=DESC"; $s1 = ' selected="selected"'; }
if ($_GET['select'] == 'a2') { $order = "&orderby=date&order=DESC"; $s2 = ' selected="selected"'; }
?>
<form method="get" id="order">
<select name="select" onchange='this.form.submit()' class="sort">
<option value="a1"<?=$s1?>>По популярности</option>
<option value="a2"<?=$s2?>>По дате</option>
</select>
</form>

<?php global $query_string;
query_posts($query_string.'&'.$order);
?>


После выбора определённо сортировки, на конце ссылки в адресной строке появляется надпись:
?select=a1

Подскажите, как от него избавиться? Или без AJAX невозможно?
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
@sl0
Меняете в форме get на post.
Ну и соответственно в проверке $_GET на $_POST.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ksnk
Тебе , вероятно, нужно не скрыть конец адресной строки, а выкинуть уже ненужный параметр select ?
Что нибудь этакое, если в query_string действительно query_string, а не что-то еще
$query=[];
parse_str(parse_url($query_string, PHP_URL_QUERY),$query_array);
unset($query_array['select']);
echo (!empty($query_array)?'?':'').http_build_query($query_array);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы