php и wordpress ASC / DESC с использованием сортировки href AND - PullRequest
0 голосов
/ 24 сентября 2011

Я пытался заставить этот код работать на моем сайте. Мне бы хотелось, чтобы пользователь мог сортировать сообщения в порядке возрастания или убывания, щелкнув ссылку href. Эту опцию следует запомнить, когда пользователь затем выбирает сортировку списка публикаций по другой опции, например название, голоса, дата.

Вот что я получил далеко:

<?php $sort= $_GET['sort'];
if($sort == "A")
{
$order= "gdsr_sort=thumbs";
}
if($sort == "B")
{
$order= "orderby=title";
}
if($sort == "C")
{
$order= "orderby=date";
}
?>

<?php $updown= $_GET['updown'];

if($updown == "Y")
{$ascend= "ASC";} //this orders in ascending
if($updown == "Z")
{$ascend= "DESC";} //this orders in descending
?>

<a href="?sort=A&updown=<?php echo $updown?>">Thumbs</a>
<a href="?sort=B&updown=<?php echo $updown?>">Author</a>
<a href="?sort=C&updown=<?php echo $updown?>">Date</a>

<?php $sort= isset($_GET['sort']) ? $_GET['sort'] : "B";

?>
<a href="?updown=Y&sort=<?php echo $sort?>">Ascending</a>
<a href="?updown=Z&sort=<?php echo $sort?>">Descending</a>

<?php query_posts($order.'&order=$.ascend.'); ?>

        <?php if ( have_posts() ) : ?>
            <?php /* Start the Loop */ ?>
            <?php while ( have_posts() ) : the_post(); ?>

Href для сортировки работает просто отлично, однако ASC / DESC ничего не делают, все остается просто DESC.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2011

Слишком сложно. Просто сохраните предпочтение ASC / DESC пользователя в Cookie (через JS, если вы предпочитаете быстрое и грязное решение), используйте значение Cookie для установки порядка при сортировке.

0 голосов
/ 24 сентября 2011

Вместо использования сбивающих с толку букв, я могу предложить 2 лучших решения:

  1. Используйте число base-3 (1021021210), чтобы определить, какие поля не отсортированы (0), ASC (1) или DESC (2).
  2. Используйте PHP $_GET superglobal и создайте URL-адреса, такие как example.com/index.php?fielda=asc&fieldb=desc.Затем проанализируйте его, чтобы увидеть, что пользователь хотел отсортировать.

Решение 2 предпочтительнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...