#前提・実現したいこと
WordPressの実装をしています。
カテゴリーのアーカイブページ(一覧ページ)のページ送りをした際にきちんと2ページ目以降もページが表示されるように実装したいです。
#発生している問題
URLに『page/2/』等が入っている2ページ目以降の一覧ページが正常に表示されず、404エラーが表示されます。
#該当のソースコード
category-works.phpを例に質問させてください。
PHP
1<?php get_header(); ?> 2 3<div id="works"> 4 <div class="container"> 5 <div class="row"> 6 <div class="eight columns"> 7 <div class="title clearfix"> 8 <img class="face" src="<?php echo get_template_directory_uri(); ?>/images/face.jpg" alt="face"> 9 <h1>タイトル</h1> 10 </div> 11 12 <div> 13 <div class="clearfix"> 14 15 <?php 16 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 17 $args = Array( 18 'category_name' => 'works', 19 'post_type' => 'post', 20 'posts_per_page' => 3, 21 'paged' => $paged 22 ); ?> 23 24 <?php $wp_query = new WP_Query( $args ); ?> 25 26 <?php if ( $wp_query->have_posts() ) : ?> 27 28 <?php while ( $wp_query->have_posts() ) : ?> 29 <?php $wp_query->the_post(); ?> 30 31 <div class="works_box"> 32 <a href="<?php the_permalink(); ?>"> 33 <?php the_post_thumbnail('thumbnail'); ?> 34 <div class="works-box-inner"> 35 <div class="text-center"> 36 <h3><?php the_title(); ?></h3> 37 <small><?php the_time('Y.m.d'); ?></small> 38 <span class="button-readmore">Read More</span> 39 </div> 40 </div> 41 </a> 42 </div> 43 44 <?php endwhile; ?> 45 </div> 46 </div> 47 <div class="clearfix"> 48 <div class="leftcol"><?php previous_posts_link('< 前へ' ); ?></div> 49 <div class="rightcol"><?php next_posts_link('次へ >' ); ?></div> 50 </div> 51 </div> 52 53 <?php wp_reset_postdata(); ?> 54 <?php else: ?> 55 <p>投稿はありません</p> 56 </div> 57 </div> 58 </div> 59 <?php endif; ?> 60 61 <div class="four columns"> 62 <?php get_sidebar(); ?> 63 </div> 64 </div> 65 </div> 66</div> 67 68<?php get_footer();
functions.phpに関係するコードは設定していません。
念の為、設定しているfunctions.phpを掲載します。(ほとんどほかのサイト様のコピペです)
PHP
1 2<?php 3 4/* the_archive_title 余計な文字を削除 */ 5add_filter( 'get_the_archive_title', function ($title) { 6 if (is_category()) { 7 $title = single_cat_title('',false); 8 } elseif (is_tag()) { 9 $title = single_tag_title('',false); 10 } elseif (is_tax()) { 11 $title = single_term_title('',false); 12 } elseif (is_post_type_archive() ){ 13 $title = post_type_archive_title('',false); 14 } elseif (is_date()) { 15 $title = get_the_time('Y年n月'); 16 } elseif (is_search()) { 17 $title = '検索結果:'.esc_html( get_search_query(false) ); 18 } elseif (is_404()) { 19 $title = '「404」ページが見つかりません'; 20 } else { 21 $title = ''; 22 } 23 return $title; 24}); 25 26// JS・CSSファイルを読み込む 27function add_files() { 28 // WordPress提供のjquery.jsを読み込まない 29 wp_deregister_script('jquery'); 30 // jQueryの読み込み 31 wp_enqueue_script( 'jquery', '//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', "", "1.1.1", false ); 32 // サイト共通JS 33 wp_enqueue_script( 'all-script', get_template_directory_uri() . '/js/all.js', array( 'jquery' ), '1.1.1', false ); 34 // サイト共通のCSSの読み込み 35 wp_enqueue_style( 'normalize', get_template_directory_uri() . '/css/normalize.css', "", '1.1.1' ); 36 wp_enqueue_style( 'skelton', get_template_directory_uri() . '/css/skeleton.css', "", '1.1.1' ); 37 wp_enqueue_style( 'fontawesome', '//use.fontawesome.com/releases/v5.8.1/css/all.css', "", '1.1.1' ); 38 wp_enqueue_style( 'all-css', get_template_directory_uri() . '/style.css' , "", '1.1.1' ); 39} 40add_action('wp_enqueue_scripts', 'add_files'); 41
#試したこと
① プラグインの導入
WP-PageNavi 試してもダメだったので、現在は停止しています。
FV Top Level Categories こちらも試してダメだったので、現在は停止しています。
② パーマリンク設定の確認・変更
/category/をURLに含ませるように試しましたが、なぜか3ページ目以降が表示されなかったです。
③ http://blog.yukarien.com/tech/how-to-fix-no-category-pagination/
上記URLの通りに確認しましたが、こちらを試しても改善されませんでした。
④ functions.phpへのリダイレクトを停止するコードの実装
http://blog.livedoor.jp/net_scope-diary/archives/25879219.html
上記URLを参考に実装しましたが、こちらも上手くいきませんでした…
#補足情報
パーマリンク設定は「カスタム構造」で http://ドメイン/%category/%postname としています。
パーマリンクのオプション設定はしていません。
なお、固定ページに同様のスラッグ名がついたものは設定していません。
WordPress 5.1.1
PHP7.2.6
どうぞ、よろしくお願いいたします!
回答1件
あなたの回答
tips
プレビュー