本帖最後由 pootor 於 2013-5-19 20:16 編輯 ; D$ \4 X7 B) {
luguokankan 發表於 2013-5-19 20:00 
3 S) ?! W! }) ]3 ]9 q0 Z' X3 p; U你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。& ~% L$ M; U X* O! }1 D4 U
$ ~% ^: }7 m: r5 J+ J
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php! c8 Z, r" c4 d4 O/ b. O
- $order = "&order=DESC";9 F I. X. b, j7 ^& `# P: w* v3 B
- if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }
/ {; B, Y1 B3 x1 s - if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }: q+ F$ S! {9 R
- if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }& b' @) n, L1 I% r3 q* {% A
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }5 Y# o& o5 w% J) T2 e
- if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }% T- h' \) I2 ~3 Q% n6 H
- if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }$ Q) y; t# u4 f, I0 F; S% _6 C) T
- ?>7 P3 u2 S! _' p( V
- - z( `7 S" A" f! r5 d( t( k9 V
; f, h m9 f# c# d$ R# P- <form method="post" id="order">
. `; J) |+ @' N4 z - Sort reviews by:
0 G+ ?( Y& J. u4 }; M- k - <select name="select" onchange='this.form.submit()'>
, _! e O% Z+ w7 r9 X - <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>+ c! P0 E* H" u2 s: ?( ?
- <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>7 q& m0 b' W$ O
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>
2 F6 I, I8 D' T# _2 ^' L - <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>8 o( {4 |6 |# `9 X8 f5 G8 y$ d
- <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>
1 T( Q' I7 m- ^" ~+ Z" h) N - <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>
; r- E6 i; u2 u - </select>
- S K& R, ~2 o l; P* ^' F: } - </form>) A6 W# w0 w! Y% r4 k7 Z
& K+ S1 Y0 z" P7 z+ g- <?php query_posts($query_string . $order); ?>
8 l( q& a9 {6 A2 F, q - <?php if ( have_posts() ) : ?>
. \& P, @. J3 H - <?php while (have_posts()) : the_post(); ?>
複製代碼 |