本帖最後由 pootor 於 2013-5-19 20:16 編輯
: i& f5 D& D; Zluguokankan 發表於 2013-5-19 20:00 
& H) S: P+ f6 ~- H" _3 {你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。
# Q0 a* w( s B, @3 }0 u+ R+ N; b" k7 i3 u. m# a% d4 E& e
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php
1 r/ w% Z8 T& z9 D4 \ - $order = "&order=DESC";% ?: r4 ?! i2 A" i) a! P- G
- if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }
: c- [& l5 G; E- K - if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }
* }* F: q5 A, T) ` - if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }6 s: k$ s$ c( t% J. Q7 Y
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }
2 J$ C) Q4 B! Q% _8 T - if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }. m& O# i' ]+ m1 ^4 J3 _; N
- if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }. N* G# ^6 v) g! B7 A5 A
- ?>
7 p$ @: g# f3 Q - + _' p; T$ h6 N/ r3 Z
9 a! X2 k6 s+ t3 Q( h' D/ w( a2 X L- <form method="post" id="order">
7 W# f0 [* G: ?, S0 e - Sort reviews by:
' I" } H P8 [& b) C- @, B - <select name="select" onchange='this.form.submit()'>. O* k" q* A$ ~
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>. p& f) } n) n; Z% {2 K
- <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>
( c: O9 l8 k, q) f) Z - <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>
; S( f) E1 s( A+ V - <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>7 @* l' t. y, T4 w: |' a4 a
- <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>
2 F/ E* m% x0 j7 \# O - <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>. I6 ~) m$ ^! ~( G& L6 P
- </select>
' o% V i# t" v" A C- z( j# ?9 z1 h - </form>
$ j! r+ r$ k# ~8 a6 u7 U7 E
z& s4 a! Z# G1 ~( Z- <?php query_posts($query_string . $order); ?>
' r3 m# Y: C9 r2 r - <?php if ( have_posts() ) : ?>
7 l% }8 [2 }5 ~# W - <?php while (have_posts()) : the_post(); ?>
複製代碼 |