WordPress 5.0 へアップデート 過去記事はTinyMCEエディタ、 新規作成記事はブロックエディタ(Gutenberg)と投稿IDを使って制御

WordPress 5.0 へアップデートする時に、頭を悩ませていたのが、過去記事をブロックエディタ(Gutenberg)で開き「ブロックへ変換」すると、Classが消えてCSSが適用されなくなってしまう、つまり、レイアウトが崩れてしまうことでした。

過去の記事をそのまま扱うなら、Classic Editor プラグインで対応する、そう思っていましたが、WordPress情報で信頼しているcapitalp.jpさんの記事によると、投稿IDやカスタム投稿タイプで、ブロックエディタのオン・オフができることを知りました。

記事はこちら。

知ったら即実践。ただし、上の記事のコードをそのままでは、うまく動作しませんでした。

同時に読んでいた、Qiitaのこちらの記事も参考にして、作ったコードがこちら。

function WS_remove_block_editor( $user_block_editor, $post ) {
    if ( $post->ID <= 36721) {
        $use_block_editor = false;
    } else {
        $use_block_editor = true;
    }
    return $use_block_editor;
}
add_filter( 'use_block_editor_for_post', 'WS_remove_block_editor', 10, 2 );

上のコードは、投稿IDが36721より以前の記事は、従来のエディタ(TinyMCEエディタ)を使うという設定です。

投稿IDの数字を書き換えると、調整できます。

このコードを、子テーマのfunctions.phpに追記するか、Code Snippetsプラグインを使って設定すると、新しい記事はブロックエディタ(Gutenberg)を使うけど、以前の記事は、これまでのままという両立の環境を作れます。

この記事を書いた人