0

WordPressにショートコードを追加するプラグインを用意しました。適用されると、リモート API からデータを取得して解析し、それに応じて表示します。API は、クエリ引数 'per_page' および 'page' の形式でデータを内部的にページ分割します。ここで、'per_page' は 1 ページに表示するアイテムの数であり、'page' はセット内の表示するページです。私が問題を抱えているのは、フロントエンドでこのタイプのページネーションを処理する最良の方法を見つけ出すことです。これまでに思いついた唯一のオプションは、ページの総数を取得し、それに応じてページネーション バーを表示し、任意の番号 (または次/前) を POST 変数としてデータを表示している関数に渡すことです。このソリューションはせいぜいハックのように見え、私が望んでいない余分なページのリロードが必要になります。これを処理するよりクリーンな方法について何か提案はありますか? 理想的には、データをインラインでロードしたいと思います。ページをまったくリロードしません。

現在使っているのはこちら...

<?php if ($result->info['pages'] > '1') {
    if ($result->info['page'] != '1') {
        echo '<a onClick="location.replace(\'?page=' . ($result->info['page'] - 1) . '\');">Prev</a> ';
    } else {
        echo 'Prev ';
    }
    for ($i = 1; $i <= $result->info['pages']; $i++) {
        if ($i == $result->info['page']) {
            echo $i . ' ';
        } else {
            echo '<a onClick="location.replace(\'?page=' . $i .'\');">' . $i . '</a> ';
        }
    }
    if ($result->info['page'] != $result->info['pages']) {
        echo '<a onClick="location.replace(\'?page=' . ++$result->info['page'] . '\');">Next</a>';
    } else {
        echo 'Next';
    }
} ?>
4

1 に答える 1

0

質問を正しく理解しているかどうかわかりません -

しかし、ワードプレスの「組み込み」ページネーション機能を使用しないのはなぜですか?

または - クエリでオフセット パラメータを使用することもできます。

こちらも参照してください- このページネーション関数は、カスタム ループのパラメーターを取得できます。

編集I(コメントの後、質問はクエリではなくajaxに関するものであることが示唆されました)

これは非常に単純な例です。ページ構造に応じて、機能するように少し変更する必要があります。

<div id=”content”&gt;
<div id=”post-list”&gt;
            (Post Loop Here)
</div>
</div>
<div id=”ajaxPagination”&gt;Load more</div>

JavaScript/jQuery

$(document).ready(function() {

var pageNumber = 1;
var baseURL = $(location).attr(‘href’);

$(‘#ajaxPagination’).click(function() {
$(‘#ajaxPagination’).html(‘Loading…’);
pageNumber++;
var link = baseURL + ‘page/’ + pageNumber + ‘/’;
$.ajax({
url: link,
success: function(html) {
var result = $(html).filter(‘#content’);
$(‘#post-list’).append(result);
$(‘#ajaxPagination’).html(‘Load more’);
},
error: function(html) {
$(‘#ajaxPagination’).html(‘No more..’);
}
});
});

})

または、それを行う多くのプラグインと、コードを分析してそれがどのように行われるかを確認できる Web 上のいくつかのチュートリアルがあります (または、プラグインをそのまま使用します)。

例: http://wordpress.org/extend/plugins/ajax-pagination/installation/

http://www.99points.info/2011/01/ajax-pagination-using-jquery-and-php-with-animation/

など..

于 2012-06-02T02:21:50.953 に答える