WordPress Snippet

ワードプレスをカスタマイズしよう

テーマのインストール時とアンインストール時だけ、処理を加える

カスタムテーマを作成していると、テーマのインストール時、アンインストール時にだけ処理を加えたいという事があると思います。

以下のフックを使う事で、簡単に処理を加えることが出来ます。

テーマのインストール(アクティベート)時に処理を行うためのアクションフック

add_action("after_switch_theme", "my_activate_theme", 10 , 2);
 
function my_activate_theme($oldname, $oldtheme=false) {
 
}

テーマのインストール(デアクティベート)時に処理を行うためのアクションフック

add_action( 'switch_theme', 'my_deactivate_theme', 10, 2 );

function my_deactivate_theme($new_name, $new_theme) {
 
}

テーマで、このような処理が必要になる場面は、親テーマと子テーマを使っていて、update_option()等で、設定を保存している場合、

親テーマと、子テーマは 同じテーブルのフィールドを共有する事になるため、親テーマの設定が保存されているような場合、
子テーマをアクティベートした場合に親テーマの設定が混ざり合って、意図しない表示になってしまうといった事があります。

また、Codex flush_rewrite_rules等でも、サンプルコードが紹介されています。

[emulsion_relate_posts]