本帖最後由 pootor 於 2013-5-19 20:16 編輯
, j- T6 ]3 t' }2 Cluguokankan 發表於 2013-5-19 20:00 
- A+ l; \2 L- q3 r你的問題是不是不會搞包含sort參數的 pagination? 加sort參數的分頁可以搞定。. l; \& r7 u4 N1 i3 O
1 ^- r& D0 a' E
不能搞定:不加參數,可以實現用下拉列表實現訪客排序,但是排序不能分頁,訪問第二頁排序就失去作用了。能否解決分頁也能排序(不加參數)?下面的代碼可以實現排序,但不能分頁。- <?php
7 Y' P- R, f: S8 ~, M- n - $order = "&order=DESC";
# r3 l' \7 v* i8 N - if ($_POST['select'] == 'tag') { $order = "&tag=mytag"; }- C2 M# z4 u6 Y% k" M/ i% J
- if ($_POST['select'] == 'title') { $order = "&order=ASC&orderby=title"; }
! ^; \* G( W& \: A3 ] - if ($_POST['select'] == 'newest') { $order = "&order=DESC"; }
& G& p- h! ]* t - if ($_POST['select'] == 'oldest') { $order = "&order=ASC"; }
2 [8 f) t8 [7 S' K) m - if ($_POST['select'] == 'mcommented') { $order = "&order=DESC&orderby=comment_count"; } m9 U* t. C- J
- if ($_POST['select'] == 'lcommented') { $order = "&order=ASC&orderby=comment_count"; }8 |8 R; W; Y- u# T/ B( E
- ?>4 I" k: `- j' c4 s! d7 Y
: Q& T. p$ ~6 h- . b1 O9 O6 ]9 _1 j# v; w
- <form method="post" id="order">' ~5 b# q2 b# O. p3 h' t. L$ q
- Sort reviews by:2 p1 E- E; I4 @/ m
- <select name="select" onchange='this.form.submit()'>" k8 ~) g% }9 p: [; E9 {4 k
- <option value="tag"<?php selected( $_POST['select'],'tag', 1 ); ?>>Tag</option>- i1 d+ e" n) g2 I6 @5 D
- <option value="title"<?php selected( $_POST['select'],'title', 1 ); ?>>Title</option>: k; \7 m) `% U& C& k$ Q" r+ i
- <option value="newest"<?php selected( $_POST['select'],'newest', 1 ); ?>>Newest</option>% y5 d) u' K1 _: `
- <option value="oldest"<?php selected( $_POST['select'], 'oldest', 1 ); ?>>Oldest</option>
, R! d- r' k/ M$ z - <option value="mcommented"<?php selected( $_POST['select'],'mcommented', 1 ); ?>>Most commented</option>
5 ^$ l# [& e3 O2 Q9 a- _ - <option value="lcommented"<?php selected( $_POST['select'],'lcommented' , 1 ); ?>>least commented</option>
$ z/ v3 o. l2 f9 ]9 }9 O - </select>0 l. t5 Y: u0 ` A
- </form>
9 a( {- h, `! N) m& i4 F$ j
6 a. P( i# g* O2 k* H- <?php query_posts($query_string . $order); ?>5 U1 D- z4 `0 [- _4 r
- <?php if ( have_posts() ) : ?>1 G2 |0 Z B! b) {
- <?php while (have_posts()) : the_post(); ?>
複製代碼 |