目前我正在使用WordPress并有一个列表,我可以在其中订购帖子asc和desc,但有个别链接,例如" A-Z"和" Z-A"。
我想要实现的是能够让用户单击相同的链接,因为列表在单击时将asc和desc排序。
以下是我目前所拥有的代码,但我不知道如何将其合并到一个链接中。
<?php
$type = 'test';
$args=array(
'post_type' => $type,
'post_status' => 'publish',
);
if( isset( $_GET['sort'] ) && "titleasc" == $_GET['sort'] ){
$args['orderby'] = 'title';
$args['order'] = 'ASC';
}
if( isset( $_GET['sort'] ) && "titledesc" == $_GET['sort'] ){
$args['orderby'] = 'title';
$args['order'] = 'DESC';
}
我的示例链接是标准:
<th>Title <span><a href="?sort=titleasc">A-Z</a> <a href="?sort=titledesc">Z-A</a></span> </th>
我想我可以写一个elseif
,但当我尝试它时,要么中断,要么根本不改变。我认为这个想法是代码需要检查它是asc还是desc然后反过来做。我只是不完全确定如何用我有限的知识来写它。
给出的任何指示都会非常有帮助!感谢
答案 0 :(得分:0)
你所要做的就是在HTML中添加你在php中使用的相同逻辑(当然是php ;-))
<?php
if( isset( $_GET['sort'] ) && "titleasc" == $_GET['sort'] ){
echo '<a href="?sort=titledesc">Z-A</a>';
}
if( isset( $_GET['sort'] ) && "titledesc" == $_GET['sort'] ){
echo '<a href="?sort=titleasc">A-Z</a>';
}
?>