現在トップページに写真を呼び出すようにPHPで構築してあります。
その中で40枚ある写真(今後も増加予定)を30枚出たところで区切り、ページングさせたいと思っています。
しかし、下記コードでは30枚目ではなく26枚目で区切られてしまい、
残りの14枚も次のページには表示されず、1枚目と同じ26枚が表示されています。
また、 'posts_per_page'=>100 にして全写真を1枚目に表示させても
ページ件数が必ず“ 1 2 3 次へ ”と3ページ表示されます。
その場合も次ページには1枚目と同じ写真が表示されています。
※修正後、写真が繰り返されるのはなくなりましたが、次はページ数が多くなってしまうようになりました。
例えば、2ページが正しい枚数のところ3ページあるように表示されてしまい、3ページ目には写真がないことをあらわすエラーが出てきます。
コードで直すべきところがありましたら、ご教授ください。
参考にしたサイトはhttp://appakumaturi.hatenablog.com/entry/20110528/1306585716です。
よろしくお願い致します。
▼home.php
PHP
1 2<?php $reco_ob = new wp_query(array('cat'=>'2', 'posts_per_page'=>30, 'post_status'=>'publish','order'=>'DESC','orderby'=>'ID')); ?> 3<?php if ($reco_ob->have_posts()) : while ($reco_ob->have_posts()) : $reco_ob->the_post(); usces_the_item(); ?> 4<?php if (usces_is_skus()) : ?> 5 6(その他コード) 7 8<?php global $wp_rewrite; 9$paginate_base = get_pagenum_link(1); 10if(strpos($paginate_base, '?') || ! 11 $wp_rewrite->using_permalinks()){ 12 $paginate_format = ''; 13 $paginate_base = add_query_arg('paged','%#%'); 14} 15 else{ 16$paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');; 17$paginate_base .= '%_%'; 18} 19 echo paginate_links(array( 20 'base' => $paginate_base, 21 'format' => $paginate_format, 22 'total' => $wp_query->max_num_pages, 23 'mid_size' => 4, 24 'current' => ($paged ? $paged : 1), 25 'prev_text' => '«', 26 'next_text' => '»', 27)); ?> 28
▼functions.php
PHP
1 2<?php 3function my_paginate(){ 4 global $wp_query, $paged; 5 $p_base = get_pagenum_link(1); 6 $p_format = 'page/%#%'; 7 //?の有無確認、有る場合は場所を特定 8 if($word = strpos($p_base, '?')){ 9 //?がある場合(検索結果) 10 $p_base = get_option(home).(substr(get_option(home), -1 ,1) === '/' ? '' : '/') 11 .'%_%'.substr($p_base, $word); 12 } else{ 13 //?が無い場合(カテゴリ、タグ等) 14 $p_base .= (substr($p_base, -1 ,1) === '/' ? '' : '/') .'%_%'; 15 } 16 echo paginate_links(array( 17 'base' => $p_base, 18 'format' => $p_format, 19 'total' => $wp_query->max_num_pages, 20 'current' => ($paged ? $paged : 1), 21 )); 22} 23?> 24
回答1件
あなたの回答
tips
プレビュー