本帖最後由 pootor 於 2013-5-19 20:16 編輯
: Y+ k$ _; M) v3 O0 Z% t9 Lluguokankan 發表於 2013-5-19 20:00 % H8 U% R& Q9 E& n( R8 x
你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。
' K0 d, e# i; a$ ]# B% e5 O' j: |* T" M5 w( {6 g. w9 V
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php3 z: }0 p( |* Y/ ]9 I( k3 \
- $order = "&order=DESC";8 W0 f$ h3 j6 B' m
- if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }, Z: H5 x. G4 t6 x7 Z( y1 W* f
- if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }( O0 S4 K; i" ^6 T
- if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }
0 n: P6 j% Q7 M+ R& e& i - if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }/ X% m5 c/ q8 j
- if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; }
3 E* B6 k+ Q9 l0 O0 a - if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; } ?/ O/ {1 ~/ m) K( } q
- ?>* c4 k0 @; [6 k' Q6 T# s' y9 f2 x
; u X* Q; Y2 q5 s& z" M& {- ) _; |3 b3 ]' ?9 ?, Y* L
- <form method="post" id="order">8 V1 w# m" y- R6 ~) n( H( ]) y
- Sort reviews by:
4 c% `" Z" ~8 s) f; S - <select name="select" onchange='this.form.submit()'>- L) I% d+ t+ O" [3 W% b
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>* k5 L- J5 Y1 c
- <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>& b1 g# }0 z: V$ w
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>
& K6 [9 i; r$ A8 H1 s - <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
1 D X8 B" v* A. U& {6 A - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>8 E# @4 i4 T8 i- a
- <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>
$ _- q0 V+ _0 F - </select>
: \7 T8 A% O& f4 _+ g" p3 f - </form>
" h* S1 u+ {( k0 c- M% |+ D
" ~6 y" y0 X) l# r$ O8 r- <?php query_posts($query_string . $order); ?>
, b4 O# R; p' o - <?php if ( have_posts() ) : ?>4 p5 m$ z, B" s( U: X C
- <?php while (have_posts()) : the_post(); ?>
複製代碼 |