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';
}
} ?>