本帖最後由 pootor 於 2013-5-19 20:16 編輯 - b9 \1 L3 t* e( u
luguokankan 發表於 2013-5-19 20:00 
3 i. a7 L. X1 r( P2 x你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。
. ?/ t/ K+ u, _! Z j0 ] z
( t0 R0 L* w! H+ }0 X( r" P不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php% k, V: l4 _; J; F2 O6 O
- $order = "&order=DESC";
; M" H9 M. i. R - if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }0 b) G; w5 E1 g; o% H
- if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }* ~& b- w4 `" [
- if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }3 H& E4 @. w$ W' X6 c2 H
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }# Y! c. ~. z( | x. [. k2 _1 I. ^
- if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }3 A, H- o- T! ~0 B3 @4 p
- if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }4 q |+ T. B, D2 n6 Z0 S4 P
- ?>
/ g5 L+ F* O y" t$ ^: { - 4 Q) i. p. t/ U+ G9 b+ ^' U0 N
5 k8 F8 k2 i7 W- <form method="post" id="order">
+ H" v1 ~) P' e) l( }2 I+ H5 E h - Sort reviews by:$ B- _, h- n: D! V- S& `/ K% t' d3 N
- <select name="select" onchange='this.form.submit()'>0 j5 e E6 }- ^5 J8 B
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>
* d; v6 D( Y! y9 w7 [5 p+ H - <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>
5 v3 Y3 n( i2 r0 \ - <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option># w) W) q' S e$ q3 y! {
- <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
. v( m! [6 s$ W; `* f/ X8 ]3 [# A - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>- z% t, P a6 Z' M/ |/ ?
- <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>
" E. ^: q' \% E# L$ s: a5 t - </select>
+ e! w9 e" v2 H# L0 b+ H - </form>" W& m7 L& ?" F; c$ n: C% K
: e, @5 R' F% c. v8 O- <?php query_posts($query_string . $order); ?>. m5 U3 m1 |, C/ H1 a% ~
- <?php if ( have_posts() ) : ?>+ r Z( r% M' Y9 _+ v7 ~1 n
- <?php while (have_posts()) : the_post(); ?>
複製代碼 |