本帖最後由 pootor 於 2013-5-19 20:16 編輯 % G' I: u4 V# @6 v
luguokankan 發表於 2013-5-19 20:00 
# b1 i0 @4 L* W7 v% {! p7 B你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。
! T. K& h: I: l. M( h5 |8 H9 d$ q% N$ y
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php
/ `) c* ^8 f- x6 E/ x - $order = "&order=DESC";
( L/ a2 t/ c- u5 @3 q8 x; w - if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }
9 A' R4 t; N+ O - if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }/ W( {8 N, ]+ C2 A, X/ c8 g
- if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }7 E% s5 T$ Q- j* z
- if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }6 |1 x2 X+ c4 G9 F% a2 j1 V
- if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }
, N, i( U+ i. F1 g' i$ Q8 x - if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }3 p- l* [# s% D X
- ?>& J" n9 J x7 B" n
- 7 V) H: `" ^. ^/ k: r! p+ @" R
" n8 Z$ G* I; j" F! c- n3 j- <form method="post" id="order">
7 F: s; ` X* d7 T# b! K* j - Sort reviews by:
- A: x/ m8 Q+ u5 n - <select name="select" onchange='this.form.submit()'>0 g; G8 I* h! s
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>7 b8 J+ u6 V; n: g _6 `( D; N
- <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>$ g3 {* x% [+ P
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>8 m; O0 |/ D5 v: J0 j
- <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
, n g0 E% k9 W$ z; @4 [ - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option># }, o$ T: t; g0 E, {
- <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>( d- ?) G `% {7 `4 o6 l
- </select>+ |2 G7 W9 ]* N& w! Z
- </form>
3 p1 ~$ O7 ]2 }. E" `6 E
% N( }7 \8 Z, N- <?php query_posts($query_string . $order); ?>
0 ^2 E2 I1 Z+ t - <?php if ( have_posts() ) : ?>
+ z& G1 |, J* a0 ?5 `& m8 v - <?php while (have_posts()) : the_post(); ?>
複製代碼 |