wordpress5.9でこの「固定ページのURLに拡張子を付ける」を追加すると、固定ページの表示で不具合が出ることがある。どうやら拡張子を勝手に外してくれるみたい。なのでこのページの関数は付けないでね。
「どうしても固定ページに拡張子を付けたい!」というのであれば、固定ページから投稿ページに移植するしかないかも。
WordPressには大きく投稿ページと固定ページの二種類がある。デフォルト状態では、これらのページのURLには拡張子が付かない。拡張子はなくてもいいんだけど、一般的にはURLの最後には拡張子が付いていてどんなファイルかがわかるようになっている。
投稿ページに拡張子を付けるには、WordPressの左メニューの「設定」→「パーマリンク設定」で共通設定の「カスタム構造」を選択して入力域に拡張子を追記する。しかし、固定ページに拡張子を付ける方法はない。
固定ページに拡張子を付けなくてもいいけれど、投稿ページにあって固定ページにないのはよろしくない。そこで、独自に関数を定義して固定ページに拡張子を追加しよう。
- 広告 -
関数の定義手順
編集するファイル
編集するファイルはfunction.phpで、このファイルに関数を作っていく。
編集方法
左メニューの「外観」→「テーマエディタ」からfunction.phpを選ぶ。
↓のコードを追加する。function.phpの中であればどこでも良いが、管理しやすいようにファイルの最後に追記していこう。
/* 固定ページのパーマリンクに拡張子を付ける */
add_action('init','add_extension_to_fixpage');
if(!function_exists('add_extension_to_fixpage')) {
function add_extension_to_fixpage() {
global $wp_rewrite;
$wp_rewrite->use_trailing_slashes = false;
$wp_rewrite->page_structure = $wp_rewrite->root . '%pagename%.html';
}
}
「add_extension_to_fixpage
」となっているところは任意の関数名でよい。ただし、他の関数と重複しないこと、そして3か所とも同じにすること。
編集後の「ファイルの更新」を忘れずに!
設定の反映
左メニューの「設定」→「パーマリンク設定」の、「変更を保存」をクリックする。これをしないと反映されないらしい。
これで固定ページにも拡張子が付く。
念のために確認
固定ページにアクセスしてURLの末尾に拡張子が入っていることを確認しておこう。
コメント