しかし、この方法だけだと固定ページのURL末尾を.htmlにすることが出来ません。また、何らかの理由により投稿ページは「/%category%/%postname%/」の形でURL末尾をスラッシュで終わらせたいが、固定ページは.htmlで終わらせたいという時も有るでしょう。
そんな時に重宝するのが「.html on PAGES」というプラグインです。この記事では.html on PAGESの導入の仕方を紹介します。非常に簡単です。
.html on PAGESのインストール方法とセッティング
WordPress管理画面から「プラグイン」⇒「新規追加」を選択。
画面が切り替わったら右上の方に検索窓が有るので、そこに「.html on pages」と入力。
正しく入力すれば、下記画像のようになりますので「今すぐインストール」をクリック。なお最終更新日が8年前とかなり古いですが、2016年現在でも有効に使えます。(但しその他のプラグイン等と干渉を起こす可能性はあります。その辺りは自己責任でお願いします。)
「今すぐインストール」をクリックして数秒待つとボタンが以下のように切り替わります。これでインストールは完了です。「有効化」をクリックして有効化させて下さい。
これで完了。固定ページの拡張子を.htmlにするだけなのであれば、特段何かセッティングする必要も有りません。固定ページの投稿画面でURL末尾が以下のように.htmlになっているかどうかだけ確認しておきましょう。
なお、固定ページのURL末尾を.htmなどhtml以外にしたい場合はプラグインのphpファイルを直接編集すればOKです。
具体的にはWordPress管理画面から「プラグイン」⇒「インストール済み管理画面」を選択。そして「.html on PAGES」の編集をクリック。
すると以下のような画面になりますので、青枠で囲ったhtmlと記載されている部分をhtmなどに切り替えてファイルを更新して下さい。バックアップはお忘れなく。
プラグインを使わずにfunction.phpに直接記入する方法でも対処可能
固定ページの.html化は上記プラグインで簡単に出来ますが、中にはあまりプラグインに頼りたくないという方も多いでしょう。
その場合は「function.php」に以下のコードを記入することでも対応可能です。
1 2 3 4 5 6 7 8 9 |
add_action( 'init', 'mytheme_init' ); if ( ! function_exists( 'mytheme_init' ) ) { function mytheme_init() { global $wp_rewrite; $wp_rewrite->use_trailing_slashes = false; $wp_rewrite->page_structure = $wp_rewrite->root . '%pagename%.html'; // flush_rewrite_rules( false ); } } |
html以外にしたい場合は6行目の「%pagename%.html」の部分を「%pagename%.htm」などに変えて対応して下さい。
自信がない人はプラグインで対応するのが良いかなと思います。