wp_insert_postで記事の初期状態を変更でき、update_optionでブログの標準状態をカスタマイズ可能
wordpressのwp_insert_postとupdate_option
wp_insert_postを利用すればマルチサイト環境下でサイトを新規セットアップする際にHELLO WORLDを編集して投稿したり、固定ページを新規に追加したりすることができる(参考:wordpressネットワークでHELLO WORLDを変更してブログを作成)
サイトの初期値をカスタマイズした状態でセットアップを行うには、update_optionというwordpressの機能を利用して安全にデータベースの値を変更することができる。
- 初期記事のカスタマイズ → wp_insert_post
- 初期状態のカスタマイズ → update_option
という感じで使いこなしたい。
Options APIを利用したCRUD処理
update_optionで初期値のカスタマイズ(更新処理)を行うことができるが、新規にデータを追加することや削除することも可能。個人的には更新処理を主に利用したいと考えているが、update_optionの一覧は以下のページで確認できる。
http://wpdocs.sourceforge.jp/Options_API
また、各APIに渡すことができる引数一覧としてoption referenceもある。
http://wpdocs.sourceforge.jp/Option_Reference
使い方
実際の使い方は、APIに対してキーと値を指定することになる。option referenceでカスタマイズしたいキーを探して、変更したい値を以下のように渡してあげる。
update_option('permalink_structure', '/%category%/%postname%.html'); update_option('blog_public', 1);
1つ目は、「パーマリンク設定」の初期値を変更している。
キーとしてpermalink_structure、そして値としてカスタマイズしたい任意のパーマリンク設定を引数に指定している。
2つ目は、「検索エンジンでの表示」の初期値を変更している。
blog_publicに1を渡すことで検索エンジンのrobotをブロックしない状態でサイトを新規セットアップすることができる。
update_optionを記述する場所は、
wpmu_new_blog
にフックする方法がイメージしやすい。ブログの新規セットアップ時にサイトの初期値をカスタマイズするためその方法がしっくりくる。マルチサイト環境下でブログ毎にテーマディレクトリを分割する構想でwpmu_new_blogの利用方法についても書いてみたので参考にしてほしい。