【WordPress】1分で解決!WP-PageNaviでページ送りすると次ページに飛ばずに固定ページに飛んでしまう問題の解決法
こんにちは。
実はデザインやWeb制作・サイト管理の仕事もしてたりする黒門カルチャーファクトリー支配人の「よら( @yora_designist )」と申します。
先日クライアントさんのサイトでブログ記事の一覧ページでページ送りができない問題が発覚しました。
その時の状況と解決までの方法について残しておこうと思います。
問題が起きた状況
今回問題が起きたサイトは別のデザイナーがデザインし、僕がコーディングしたサイトです。
南海なんば駅すぐにあるなんば坂本外科クリニックという下肢静脈瘤の日帰り手術や脱腸の手術を専門としているクリニックさんで、分かりやすい説明と丁寧な日帰り手術が特徴です。
条件
- WordPressで構築
- プラグイン「WP-PageNavi」を使用している
- カテゴリーページで発生
- パーマリンク設定を/%category%/%post_id%/に設定している
上のような条件下で問題が発生していました。
状況としては記事タイトルにあるように記事一覧ページで2ページ目、3ページ目に移動しようとボタンをクリックすると次ページに飛ばずに別の固定ページに飛んでしまうという現象が発生。
???
謎です。
Webサイトの不具合は原因が多すぎて特定しきれないので、問題となりそうな可能性を1つ1つ潰していく作業になります。
まずはそもそも2ページ目に行くボタンのリンク先が間違っている可能性をチェック。
ブログ一覧ページのURLも2ページ目へのボタンのリンク先URLも希望通りになっているので特に問題なさそうに見えます。
詰んだ…。
プラグイン「No Category Base」をインストール
早速詰んだのでGoogle先生に聞いてみるとNo Category Base(WPML)というプラグインを入れると直るという記事が見られました。
このプラグインはWordPressがカテゴリーページのURLを吐き出す時にデフォルトで吐き出す「category/」という文字列を削除してくれるものです。
このサイトを例に出すと「blog」というカテゴリーのURLは「https://dc.nmb-ssc.jp/category/blog/」がデフォルトになります。
このURLのまま運営していれば特に問題なくページ送りはできるんですが、「blog/」の上の階層「/category/」にアクセスしても実際にはページは存在しませんし、無意味な階層はなるべくなくした方がシンプルに運営できます。
そこでこのプラグイン「No Category Base(WPML)」が活躍するというわけです。
で、実際にインストールしてみたらあっさり解決。
まとめ
デフォルト設定の「category」という階層を取り除きたい場合はとりあえずプラグイン「No Category Base(WPML)」を入れておけば良いと思います。
改めて今回の問題が発生した条件を記載します。
条件
- WordPressで構築
- プラグイン「WP-PageNavi」を使用している
- カテゴリーページで発生
- パーマリンク設定を/%category%/%post_id%/に設定している
こんな条件に当てはまる方は一度お試しくださいね。
今回紹介したサイト
サイト名:なんば坂本外科クリニック
特徴:下肢静脈瘤の日帰り手術専門クリニック
所在地:大阪府大阪市浪速区難波中1丁目10-4 南海野村ビル4階
【おまけ】黒門カルチャーファクトリーFBグループを立ち上げました
黒門カルチャーファクトリーを場所としてもビジネス的にも利用して、面白い未来をみんなで作り上げるためのアイデア共有グループを立ち上げました。
黒門カルチャーファクトリーが描く構想や企画、相談などを投稿しています。
ROM専(見てるだけ)OK!
お互いに利用しあいたいという方ぜひ相談に乗ってくれると嬉しいです!
黒門のココだけの話