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)を使うけど、以前の記事は、これまでのままという両立の環境を作れます。