wordpress

[WordPress]指定した範囲の投稿IDの場合に投稿画面でビジュアルエディタを使わない

こんにちは!みぞれ(@xxmiz0rexx)です。
小1時間ハマったのでメモ…。ニッチすぎて誰も使わないかもしれないけど、誰かのために置いておきますwちなみに私はライブドアブログ→WordPressへの移転のお仕事で必要になりました。

このカスタマイズが必要になった時

前述の通り、ブログの移転のお仕事で必要になりました。

他社ブログサービスでエクスポートしてきた過去記事はクラシックエディタに入るんだけど、 それをビジュアルエディタで開かれちゃうといらないタグが自動挿入されてしまいとんでもない表示崩れになりました。

新しい記事はブロックエディタを使うことになっていたので単純にビジュアルエディタをOFFにするわけにも行かず、泣きながら実装したのでした。
というわけで本題⬇

指定した範囲の投稿IDの場合に投稿画面でビジュアルエディタを使わない

functions.php内
//ビジュアルエディタを使わない
function disableRichedit(){
    global $typenow;
    $post_id = $_GET['post'];
    if( $typenow == 'post' ){//pageに変えれば固定ページのみ
        if ( 2 < $post_id && $post_id <= 2512) {
            add_filter('user_can_richedit', 'disableRichedit_filter');
        }
    }
}
function disableRichedit_filter(){
    return false;
}
add_action('load-post.php', 'disableRichedit');
add_action('load-post-new.php', 'disableRichedit');

ピンク文字の部分をお好きに変更して使ってください。
範囲指定している理由は、指定しないと新規記事作成のときにも効いちゃうから(やばい)。

さいごに

ほかに良い方法あるよ!って方はメールかTwitterにご連絡ください。
以上、みぞれでした!