テーマ変更後に固定動作を行う

テーマ変更後に固定動作を行う

今回はテーマ変更後に固定の動作を行う方法を紹介します。

例として「テーマ変更後に固定ページを挿入する」を行います。

テーマの変更後を察知するには以下のフックを使用します。

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 );
  } );

そのテーマの見出しなどをまとめた固定ページで下書きでいれておくと確認しやすく便利かもしれません。