今日はWordPressの記事です。今回は、テーマが勝手に配置してくれる日付を選択すると、ページが見つからないエラー(404)となる場合の対処法404とはHTTPのエラーの1つで、リンク先が見つからない場合に返すエラーコードです。原因は下記の2つが大半です。リンク先のURLが誤っているリンク先のファイル/フォルダが、削除またはアクセス不可となっているエラーの原因では原因は何なのか。僕のテーマでは、トップページおよびブログの日付をクリックすると、該当年月のアーカイブページに飛ぶはずで、作成した記事は年月単位に管理されています。よって2つ目の「リンク先のファイル/フォルダが、削除またはアクセス不可となっている」という原因は、今回はあてはまりません。1つ目の「リンク先のURLが誤っている」にあたりをつけます。エラーとなるリンクにフォーカスを置いてみると、まだ生まれてもいない年月になっているではありませんか。1970/01勘のいい方ならお気づきでしょう。WordPressはPHPで作られており、PHPの日付型の最小値が1970/01/01なのです。内部的には、記事の作成日(2018年9月28日)から、年月(2018/09など)に変換するする処理があるはずで、それに失敗していて、日付の最小値が入っている。開発者ツールでHTMLのソースを見てみましょう。1970/01というリンクになっています。class=”entry-content”>)などから実際のソースの場所を割り出せるので、FTPで接続して、ソースの本体を探します。僕のテーマの場合は下記の場所に配置されていました。(ドメイントップ)\wp-content\themes\fire-blog\template-parts\homepage-list.phpやはり、日付の変換をしていました。?>">おそらく「get_the_date()」が記事の日付を取得する関数で、「’Y/m’」の形式に変換しようとしているのでしょう。get_the_date()の不具合か?そうではありません。get_the_date()はその下の行でも使われており、39行目のget_the_date()は、href属性なのでリンクの実際の飛び先、40行目のget_the_date()は、表示上の値です。表示上の値は正しく「2018年9月28日」と表示されています。消去法でここで回答がでます。「2018年9月28日」という文字列を、date関数で変換することができないのです。表記にこだわりはないので、PHPが認識できる表記に変更します。下のほうに「日付のフォーマット」があると思います。「Y年n月j日」を「Y-m-d」に変更して[変更を保存]をクリックします。日付のフォーマットがかわりました。2018/09にかわりました。海外のテーマを使用すると、こういうことが起きやすいので頭に入れておきましょう。コメントをキャンセルメールアドレスが公開されることはありません。