今回はテーマ変更後に固定の動作を行う方法を紹介します。
例として「テーマ変更後に固定ページを挿入する」を行います。
テーマの変更後を察知するには以下のフックを使用します。
do_action( 'after_switch_theme', string $old_name, WP_Theme $old_theme )
変更前のテーマのテーマ名と変更前のテーマのテーマオブジェクトが引数として利用できます。
今回の内容ではどちらも必要ないため引数は必要としません。
次に固定ページの挿入です。
下記コードで挿入できます。
wp_insert_post( array $postarr, bool $wp_error = false )
詳しくは【wordpress】コードから投稿する方法を参考にしてください。
以上2つを使用するとこのようになります。
add_action( 'after_switch_theme', function() {
$post_arg = [
'post_title' => $order,
'post_status' => 'publish',
'post_name' => 'test',
'post_type' => 'page',
'post_content' => make_content(),
];
wp_insert_post( $post_arg );
} );
そのテーマの見出しなどをまとめた固定ページで下書きでいれておくと確認しやすく便利かもしれません。