WordPressのページ送りで404エラーが出るときに根本的な対処方法

wordpressのページ送り時のエラー

WEBデザイナーでWordPrssのテーマ作成スキルは必須になってきた気がします。とはいえPHPがガリガリ書けないとWordPressで思わぬエラーをだしてしまうことも多々有ります。
よくあるページャーで2ページ目で404エラーが出るというものです。悪名高きWP_Queryをどうこう以前にアーカイブやカテゴリー一覧のURLの持たせ方でページャーが動くかないということがあります。

ページ送りはプラグインを使用

よく使うのが、WP-PageNaviとWP SiteManagerです。WP Sitemanagerはカテゴリーの階層なども制御できますので、カスタム投稿を使う際にはこっちを、ただのページャーが必要なだけのサイトだとWP-PageNaiを使用しています。

ページ送りのコード

WP-PageNaviのページ送りコード


  //ループ要素


WP SiteManager


  //ループ要素


こちらを記事一覧を表示するindex.php、archive.php, category.phpに記述することでページ送りが表示されます。

表示する記事数は管理画面の設定で決める

記事数は設定表示するページ数で決める

表示する記事数はログインして設定の表示設定、そのなかの表示するページ数で決定します。

カテゴリーやタグ一覧ページに入るURLを間違えるとページ送りが機能しない

例えば写真のカテゴリーに「photo」というスラッグをつけるとします。
写真一覧にページ遷移させるURLに下記のような書き方をしてしまうと、1ページ目は表示されますが、ページ送りで2ページ目に行った際に404エラーが帰ってきます。

間違ったリンクの貼り方

写真

カテゴリー一覧の1ページ目が表示されてしまうので静的HTMLからWordPressに以降したばかりの人だと書いてしまいそうなコードです。

正しいリンクの貼り方

写真

「xxx」の部分にはカテゴリーのIDが入ります。こうすることでどのカテゴリーかを判断することができるのでページ送りが正常に機能します。

カテゴリーIDの探し方

カテゴリーIDの探し方

ループの中にPHPを書いて数値を取得してもよいですが、ログイン>投稿>カテゴリーでカテゴリー名にオンマウスして下に出てくる数値を拾うのが一番はやいです。

これでページ送りエラーのでない記事一覧へ遷移するグロナビなどが作れます。

記事一覧の中でカテゴリー名とリンクを取得する方法

ここまでは自分でURLを打ち込んできましたが、記事一覧のループ要素の中にカテゴリー一覧へのリンクを表示させたい場合もあります。

この場合は自動でカテゴリー名やリンクを取得しないといけません。このブログのように、カテゴリーのスラッグによって色を変えられるCSSを当てられるコードはこのようになります。



slug; //カテゴリーのスラッグ取得
  $linkid  = $cat[0]->term_id; //カテゴリーのIDを取得
  $catname = $cat[0]->cat_name; //カテゴリー名を取得
  $url = site_url(); //ブログのURLを取得
  $catlink = "$catname";
  echo $catlink; 
  ?>


こうすることで”category_[スラッグ]”のクラスがついたリンクを取得できます。

WordPressを構築する際によく使うコード+陥りやすいエラーなので覚えておくといざというときに役に立ちます。

コメントを残す

メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

スポンサーリンク

0
0
0
2
5
0
wordpressのページ送り時のエラー

この記事が役に立ったらいいねをしよう!

Facebookで最新情報をお届けします。

関連記事

同じカテゴリーで読まれている記事