【Tips】WordPressのURLの構造を変更した時、パーマリンクが反映されない時は、リライトルールを更新(flush_rewrite_rules)する。その最も簡単な方法。
以前の宣言通り、WordPressとかIllustratorネタとか、Xcodeネタも書いていこうと思っているので、先日、テーマををリニューアルした際にカテゴリーもわざわざひとつ増やしました、リンあれです。(′ʘ⌄ʘ‵)
(あ、ちなみに「リンあれ」さんと呼ばれることもありますが、一応ハンドルネームは「ゆこびん」です。で、さらにいうと「ゆこびん」の「びん」は敬称ということなので、「ゆこびんさん」は「ゆこ君さん」みたいな事になっているという設定です。)
さてさて、私の巷で定番のWordPressを使ってこのブログを運営しているわけですが、たまに「あ!そうだった」となってハマることがあるこのネタを書いてみようと思います。ってか、以前何回もやっているのもかかわらず忘れていて昨日もハマりました。
今直ぐにお役立ちなタイプのTipsではありませんが、WordPressでブログやっていて、ちょっとカスタマイズをやってみたいと思っている人、これからもっと勉強したい人は、是非頭の片隅に入れておいてください。役に立ちます。誰でもできる簡単なものなので、中身はハテナでも、来るべき日のために最後の一文だけ覚えていってくれると嬉しいです。
WordPressのURL構造を変更した際はリライトルールを更新すること
このTipの難易度/オススメ度、お手軽度
易/初心者向け | |
---|---|
お手軽 |
※レーティングは管理人のイメージです。目安にしてください。
WordPressのURL構造を変える。
お仕事でWordPressを扱う事がある人は言わずもがなだと思いますが、「いろいろ自分流にカスタマイズしたい」「CMSだし、もっといろんなページを作りたい」「お店のサイトを作りたい」「カスタム投稿もバリバリ使いたい」なんて人はきっとこの辺りもちょっと触れているんではないでしょうか。
しかし「それって、何のこと?」と思う人も結構いるんじゃないかと思います。 既存のテーマでブログを運営している人はURLの形式やサイトの構造にについて考える機会はないかもしれませんね。
でも実は、「ナニソレ?おいしの?」な人も多分一度は「URLの構造」について目にしていると思われます。
管理画面のこの設定、ここが「URLの構造を変える」を目にすることができます。ブログ開設のいちばーん最初にここで記事のURLの形式を決めたんじゃないでしょうか?
●WordPress > 設定 > パーマリンク設定
WordPressのURLの構造を変更する…この画面ではあるように通常の投稿のURLを自分の好きな形式に設定することができます。
でも、他のもの、例えば固定ページやカスタム投稿タイプのパーマリンクをいじるには、functions.phpに記述したり、便利なプラグインにたよることになります。
そうして、URLの形式を変更した際に、上手く新しいURLが反映されないことがあります。
まさに昨日の私がそうでした。
このブログの固定ページはURLの最後に.htmlを付けるようにしていたのですが、サイト構造を変えるために、末尾の.htmlはずすことにしました。
functions.phpにそのための設定を書いてあったので、その部分の記述をごっそり消して、ファイルを上書きしました。WordPressの管理画面上でも固定ページの.htmlはとれているのですが、実際のサイトの方では末尾に.htmlがついた固定ページが存在しつづけ、末尾にhtmlのない新しいURLを打つとNot Foundになってしまいました。
よく考えたら以前も似たような事があり、(このブログとは違うサイトなんですが、)カスタム投稿のURLを変更する「Custom Post Type Permalinks」というプラグインの更新をした際にトラブルがおき、やはり同じような現象に悩まされました。(しかも、この時問題の起きたサイトはカスタム投稿バリバリ使っていたので、サイトの半分以上が404 Not Foundに。さらに思い返すとWordPressで一番最初に作ったサイトだったため、リライトルールなんて知らずにパーマリンクが反映されない件では相当悩まされた思い出が…)
これは、管理画面上では反映されたり設定されたりしているように見えても、データベースの方が新しいURLの設定に更新されないからなんです。
そのためには flush_rewrite_rules を呼んでデータベースに方も変更をする必要があります。
WordPress初心者さんは「ふらっしゅりら…?なにそれ、どうやるの?」状態かもしれませんが、これ自体を知らなくてもオッケーです。
何故なら簡単にできちゃう方法があるんです。
【方法】さっき出てきたパーマリンク設定のページから「変更を保存」ボタンを押します。
以上!!!
つまり今回の私の場合、functions.phpから記述を消しただけで、この管理画面上から何の変更もしていませんが、「変更を保存」ボタンをポチっとします。
これで、データベースの方も書き換わって、めでたく固定ページのURLが「.htmlあり」→「.htmlなし」のURLになりました。‹‹\(´ω` )/››‹‹\( ´)/››‹‹\( ´ω`)/››
管理画面のパーマリンク設定から変更したものではなくても、サイトの何かしらのパーマリンクを変更した際は、「変更を保存」するとよいです。
flush_rewrite_rulesをするためのプラグインもあるようですが(今回調べてて初めて知った)、「変更を保存」がお手軽なので、「新しいURLが反映されないよ〜!( ;∀;)」という時は、試してみてください。(*´ー`*)
【参考】flush_rewrite_rulesについてもっと知りたいよ!って方は、こちらのページを参照!
こちらにも「変更を保存」がおすすめされてます。
◯flush_rewrite_rules:WordPress私的マニュアル
WordPressのURLの構造を変更した時、新しいパーマリンクが反映されない時、リライトルールを更新する最も簡単な方法まとめ
さて、かなり簡単にお話しましたが、(?_?)ハテナな人もいるかと思います。ぶっちゃけ今わかる必要はありません。
最後のこれだけ覚え帰ってください。
WordPressでURL構造(パーマリンク)を変更したのに反映されない時は、パーマリンク設定画面の「変更を保存」ボタンを押す! (」°ロ°)」
これで、解決しない場合は、おそらく問題は別のところにありますね、やっかいなことになってます。お近くの(又はフォーラムの)WordPress上級者さんに相談してみてください!
じゃっ!( •̀ .̫ •́ )✧