WordPressで自動で固定ページを作成する方法

CREATE:

UPDATE:

WordPressのオリジナルテーマを作成する際、管理画面からではなく、自動で固定ページを作成する方法をご紹介します。

functions.phpへ直接記述してください。

固定ページ自動挿入関数

まずは最初に全体の完成コードが下記になります。

最初の関数 create_pages_and_setting内にて、ページタイトルとスラッグ、親ページの有無(親があれば親のスラッグ)を、追加したい固定ページに合わせて記述します。これだけで固定ページが追加されます。

解説

まずはテーマが読み込まれた直後のアクションフックを設定します。

 

続いて、アクションフックで実行される関数(create_pages_and_setting)内で、配列($pages_array)にページタイトルとスラッグ、親ページの有無(親があれば親のスラッグ)を、追加したい固定ページに合わせて記述します。
複数ページあるようでしたらその分、配列に追加して下さい。

その後、foreachにて上記の配列の中身を、固定ページを追加する関数(setting_pages)に渡します。

 

固定ページを追加する関数(setting_pages)内で、まずは渡された固定ページのデータ($val)に親ページが有るか判別します。
親ページが存在するようであれば、親のページIDを取得し、加えてスラッグに親のパスを含めるようにします。
その為、親ページと子ページを同時に追加する場合は、親を先に配列に入れておく必要があります。

 

最後に用意した固定ページのデータを、実際に登録します。
その固定ページがまだ存在していなければ(スラッグで判別)、wp_insert_postにて新規登録。
すでにその固定ページが存在していたら、wp_update_postにて更新。

以上です。

管理画面の固定ページ一覧にてページが追加されているか確認してみて下さい。