こんにちは、
WordPressでページネーションをする時に使用するクエリーは、paged(アーカイブなどでのページング)と page(nextpageを使ったページング)の2種類です。
クエリ―文字列がかぶっているためうまくいかないといった事はよくあります。
クエリー文字を新しく登録したり、PHPのページング(pearのpagerなど)、javascriptや、CSSのページングも可能と思いますので、工夫すると出来るのではないかと思います。
ご回答ありがとうございます。
詳しい内容を提示します。
以下のコードが今回の質問のコードです。
webapiを利用したphpコードです。5ページまでと最後のページまで遷移出来ました。しかし、6ページや7ページには遷移出来ませんでした。
分からないのは、なぜ最後のページや5ページにページ遷移が出来て、6ページ目以降からページ遷移が出来ないかです。
$pageを$my_pageに変更しましたが、6ページ目以降に遷移出来ませんでした。
<?php
$key=’私のキー’;
$count=’50’;
$large_area=’〇〇’;
$start =1+($page-1)*10;
$budget=$_POST [“budget”]
$format=’xml’;
$url=’http://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=’.$key.’&count=’.$count.’&large_area=’.$large_area.’&start=’.$start.’&keyword=’.$keyword.’&budget=’.$budget.’&format=’.$format;
$xml=simplexml_load_file($url);
$total_count=$xml->results_available;
function paging($limit, $page, $disp=5){
global $budget;
//$dispはページ番号の表示数
$next = $page+1;
$prev = $page-1;
//ページ番号リンク用
$start = ($page-floor($disp/2) > 0) ? ($page-floor($disp/2)) : 1;//始点
$end = ($start > 1) ? ($page+floor($disp/2)) : $disp;//終点
$start = ($limit < $end)? $start-($end-$limit):$start;//始点再計算
if($page != 1 ) {
print ‘« 前へ‘;
}
//最初のページへのリンク
if($start >= floor($disp/2)){
print ‘1‘;
if($start > floor($disp/2)) print “…”; //ドットの表示
}
for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ
$class = ($page == $i) ? ‘ class=”current”‘:””;//現在地を表すCSSクラス
if($i <= $limit && $i > 0 )//1以上最大ページ数以下の場合
print ‘‘.$i.’‘;//ページ番号リンク表示
}
//最後のページへのリンク
if($limit > $end){
if($limit-1 > $end ) print “…”; //ドットの表示
print ‘‘.$limit.’‘;
}
if($page < $limit){
print ‘次へ »‘;
}
/*確認用
print “<p>current:”.$page.”<br>”;
print “next:”.$next.”<br>”;
print “prev:”.$prev.”<br>”;
print “limit:”.$limit.”<br>”;
print “start:”.$start.”<br>”;
print “end:”.$end.”</p>”;*/
}
$limit =ceil($total_count/$count); //最大ページ数
$page = empty($_GET[“page”])? 1:$_GET[“page”];//ページ番号
paging($limit, $page);
どのようにWordPressのテンプレートに実装したのか書いていただかないと、回答がつきにくくなりますよ
APIの提供元には問い合わせたのですか?
私は、APIキーを持っていないので、ちょっとわかりません