数年ぶりとなるWordPressいじりをしているともきどっとんです。
なんだか浦島太郎気分になりながらWordPressをいじっていたらエディタ部分が「リッチエディタ」というConcrete5にも似た仕様になっていて驚きました。
感想は「リッチエディタ使いにくくね?」でした。
ところで、私が最後にWEBサイトを開発したときは「Modx」というCMSを使用しました。大変使いやすいCMSだったのですが、機能の名称がとても独特なのとサイトのテンプレートがちょっとややこしいということもあって、新しくWEBサイトを作るときには採用を見送りました。
ただCMS自体はとても軽いですし、オーサリングソフトとしても使えるので興味があれば使ってみてください。
とりあえず、必要なカスタム投稿を設定しようと思ったら泥沼にハマったので報告します。
頭を悩まされた謎の現象
投稿とページ
WordPressにはデフォルトで2つの記事を書く項目があります。
「投稿」と「ページ」です。
投稿は主にブログ用でページは固定で変更されない記事用です。
しかし、この2つだけでは足りない人はカスタム投稿やカスタムページを設定します。
不思議な現象
私はWordPressを新規でインストールしたら必ずカスタム投稿を設定するのですが、何度設定しても慣れることはありません。しかし、とてもお気に入りの記事を読んで欲しいと思い、四苦八苦しながら設定しました。
記事が完成したのでプレビューして確認したときには全く何の異常もありませんでした。「よし、これでいいぞ」と公開をして、もう一度確認しました。
そうすると、あらっ不思議。トップページにリダイレクトされるではありませんか。
原因の調査
原因を調査してみました。
色々と試したんですよ。。。
- カスタム投稿を設定し直す。
- 記事を書き直す。
- WordPressを入れ直して同じように設定し直す。
全部ダメでした。
リダイレクトされた原因
2日間悩みに悩んだ結果、その原因は単純なものでした。
私がWordPressをインストールしたときに行う初期設定があります。その中に画像の添付ファイルページのインデックスをさせないようにする対策の一貫で302リダイレクトをかけてるんです。
それが原因でした。
もう少し詳しく説明すると、WordPressに画像をアップロードすると、その画像の添付ファイルページが自動で生成されます。
例えば、「omochi.png」という画像をアップロードした場合
という添付ファイルページが作られ、【/omochi】というURLが使用されてしまいます。
私の初期設定では【http://ドメイン名/omochi/】を含むページにアクセスした場合は、【http://ドメイン名/】にリダイレクトされてしまいます。
次に、カスタム投稿のスラッグを「omochi」に設定した場合
画像の添付ファイルページと全く同じURL構造となります。
もう分かっていただけたかと思いますが、URLが全く同じなのでカスタム投稿「omochi」に投稿した記事は、全てトップページにリダイレクトされていたわけです。
画像の詳細ページを302リダイレクトする方法は下記のページを参考にしてください。
302エラーの詳細については下記のページを参考にしてください。
最後に
パソコンやプログラムなどの原因は自分にあるということはよくあります。
よく考えていただくと分かるのですが、パソコンやプログラムは人間の指示した通りしか動くことができません。つまり、私たちユーザーが正しい動作を指示すればトラブルが起きることはないと考えることができます。
パソコンやプログラムなどは、チーム作業でない限り原因は必ず自分にあります。
問題が発生したときは今一度、行った作業を見直してみてください。
参考文献
- カスタム投稿タイプの作成からトップページへの表示までの流れ
- https://blog.junkword.net/wordpress/custom-post-type.php
- カスタム投稿タイプのページが404エラーで表示されないときの対処法
- https://gray-code.com/blog/wordpress/how-to-repair-404page/