php& wordpress ASC / DESC使用href AND排序

时间:2011-09-24 10:03:14

标签: php wordpress

我一直在努力让这些代码在我的网站上运行。 我希望用户能够通过单击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 :(得分:0)

我可以建议2个更好的解决方案,而不是使用令人困惑的字母:

  1. 使用base-3编号(1021021210)确定哪些字段未排序(0),ASC(1)或DESC(2)。
  2. 使用PHP的$_GET超全局,并创建example.com/index.php?fielda=asc&fieldb=desc等网址。 然后解析它以查看用户想要排序的内容。
  3. 溶液2是优选的。

答案 1 :(得分:0)

太复杂了。只需将用户ASC / DESC首选项存储在Cookie中(通过JS,如果您更喜欢快速和简单的解决方案),请在排序时使用Cookie值设置顺序。