web-dev-qa-db-ja.com

複数ページの投稿を並べ替える

ドロップダウンを使用して、タイトル、meta_valueなどで投稿をソートしています。ただし、ソート機能は最初のページでのみ機能します。 2ページ目には、1ページ目から注文を続行するのではなく、デフォルトの注文が表示されます。このエラーの原因は何でしょうか。

これがコードへのリンクです。

http://Pastebin.com/AwSmMPtM

本当にありがとう。

1
John Hall

あなたは最初にsortパラメータを持つフォームを介してPOSTリクエストを送信しています。追加のページへのリンクをクリックすると、元のGET変数なしで次のページへのPOSTリクエストを送信するだけなので、それらは追加のページに持ち越されず、if(isset($_REQUEST['sort']))によって取得されません。おそらくそれを扱う最も簡単な方法は、URLに追加されたクエリ文字列としてsortパラメータを渡してから、そのクエリ文字列を確認してそれを追加ページのURLに追加することです。

2
Milo

あなたは$pagedの後にそれを使うif条件式に設定しています。

// more uses of $paged that way ^^^^
else
        $order = array(
        'cat' => 30,
        'orderby' => 'title',
        'order' => 'ASC',
        'paged' => $paged
);

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

その$paged =行をそれらの条件文の前に置いてください、そして私はそれが違いを生むと思います。

1
s_ha_dum