クラシックエディターの自動整形を無効化する

ワードプレスのクラシックエディターを使用している時、ビジュアルモードとテキストモードを切り替えたタイミングで自動整形が行われ、<br>などのタグが取り除かれたりしてしまう。

他にも<p>タグが追加されたり除去されたりなどせっかく書いた記事の表記が崩れてしまうことにつながるため、これらの機能を停止させたい。

function my_tiny_mce_before_init( $init_array ) {
    //グローバル変数の宣言
    global $allowedposttags;
    //エディタのビジュアル/テキスト切替でコード消滅を防止(自動整形無効化)
    $init_array['valid_elements']          = '*[*]';
    $init_array['extended_valid_elements'] = '*[*]';
    //aタグ内ですべてのタグを仕様可能に
    $init_array['valid_children']          = '+a[' . implode( '|', array_keys( $allowedposttags ) ) . ']';
    $init_array['indent']                  = true;
    //pタグの自動挿入を無効化
    $init_array['wpautop']                 = false;
    $init_array['force_p_newlines']        = false;
    //改行をbrタグに置き換える
    $init_array['force_br_newlines']       = true;
    $init_array['forced_root_block']       = '';
    return $init_array;
}
add_filter( 'tiny_mce_before_init' , 'my_tiny_mce_before_init' );

引用元サイト https://se.ekaki-j.com/wp-code-disappearance/

スクリプトの追加位置はfunctions.phpの末尾にすること。