##やりたいこと
カスタム投稿の一覧表示にページネーションを実装したい。
###試したこと
「ワードプレスのカスタム投稿タイプにページ送りを導入する方法」
https://www.moco358.com/archives/3523#i-6
のサイトを参考に実践してみました。
こちらのサイトのページおくりをページ送りを表示させよう。の部分をコピペしてみた所、
<div class="pagination"> <?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');; $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 4, 'current' => ($paged ? $paged : 1), 'prev_text' => '« 前へ', 'next_text' => '次へ »', )); ?> </div>
ページネーションのボタンはうまく表示されました。
実際にページネーションのボタン2を押すとURLが表示されます。 http://wordpress/archive-custom/page/2/ **しかし表示されるアーカイブは1ページ目と変わらず、、** (ボタン3を押してpage/3/を表示しても中身は1ページのまま、、、)
ちなみに
コードを更新した後でパーマリンク設定を何も変更せず[変更を保存]を行いました。
コードを更新した後で表示設定の何も変更せず[変更を保存]を行いました。
設定→表示設定→1ページに表示する最大投稿数は6個に指定
カスタム投稿一覧ページの表示数も6個に指定
カスタム投稿のプラグインは「Smart Custom Fields」
カスタムURL設定のプラグイン は「Custom Post Type Permalinks」を使用しています。
<?php $args = array( 'post_type' => 'custom_post', 'posts_per_page' => 6 ,//表示件数(-1で全ての記事を表示) ); $the_query = get_posts( $args ); if ( $the_query ) : foreach ( $the_query as $post ) : setup_postdata( $post );?> <div> <?php // add_image_size( 'thumbnail', 640, 480,true); $img_gallery = SCF::get('custom_img_group'); $img_gallery_item01 = wp_get_attachment_image($img_gallery[0]['custom_img'],'small' ) ; ?> <?php echo $img_gallery_item01; ?> <div class=" custom-title"><?php the_title(); ?></div> <dl> <dt>コメント</dt> <dd><?php echo get_post_meta($post->ID , 'custom_comment' ,true); ?></dd> </div> </div> <?php endforeach; wp_reset_postdata();?> <?php else:?> <?php echo 'データがありません。'; endif; ?> </div> //うまく起動しないページネーション <div class="pagination"> <?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');; $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 4, 'current' => ($paged ? $paged : 1), 'prev_text' => '« 前へ', 'next_text' => '次へ »', )); ?> </div>
他に原因としては何が考えられますでしょうか。
どこに手をつけたら良いのか見当がつかなくなってきました。
どなたかご教授いただけますと幸いです。よろしくお願いいたします。
コード <?php $args = array( //ここで表示する投稿の条件を指定する 'post_type' => 'custom', 'posts_per_page' => 6, ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <!--ここに投稿が表示される--> <div> <?php // add_image_size( 'thumbnail', 640, 480,true); $img_gallery = SCF::get('custom_img_group'); $img_gallery_item01 = wp_get_attachment_image($img_gallery[0]['custom_img'],'small' ) ; ?> <?php echo $img_gallery_item01; ?> <div class=" custom-title"><?php the_title(); ?></div> <dl> <dt>コメント</dt> <dd><?php echo get_post_meta($post->ID , 'custom_comment' ,true); ?></dd> </div> </div> <?php endforeach; wp_reset_postdata();?> <?php else:?> <?php echo 'データがありません。'; endif; ?> </div> <?php endwhile; wp_reset_postdata(); ?> <?php else: ?> <!--投稿が無かった場合の表示--> <?php endif; ?> <div class="pagination"> <?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged');; $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 4, 'current' => ($paged ? $paged : 1), 'prev_text' => '« 前へ', 'next_text' => '次へ »', )); ?> </div>
アドバイスいただいたようにループを使用してみました。カスタム投稿だったので、条件付きのものをコピペして使用しています。ただページネーション機能は動かずのままでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/24 14:14
2020/06/24 14:22
2020/06/24 14:27
2020/06/24 14:32
2020/06/24 14:39