Categories: WordPress

WordPressのビジュアルエディタの自動整形を無効にする。

WordPressのビジュアルエディタで改行を二回繰り返して入力すると、勝手に

>

とかに置き換えてくれます。

自動改行の無効化

これが迷惑って時は、function.phpに、

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

と入れてやります。
wpautopについて→https://wpdocs.osdn.jp/関数リファレンス/wpautop

自動変換の無効化(その1)

引用符なんかも勝手に変換してくれちゃいます。

“→”
™→

これが迷惑なときは、

remove_filter( 'the_content', 'wptexturize' );
remove_filter( 'the_excerpt', 'wptexturize' );

と入れてやります。
wptexturizeについて→https://wpdocs.osdn.jp/関数リファレンス/wptexturize

自動変換の無効化(その2)

title タグや、category タグが削除され、brタグや、hrタグは、
から、
のようにHTXML準拠に勝手に変換されます。これがやなときは、

remove_filter( 'the_content', 'convert_chars' );
remove_filter( 'the_excerpt', 'convert_chars' );

と入れてやります。
convert_charsについて→https://codex.wordpress.org/Function_Reference/convert_chars

TinyMCE Advanceでも対策

TinyMCE Advanceを使うときに、ビジュアルモードとテキストモードを切替時の余計な変換をやめてもらうには、

function override_mce_options( $init_array ) {
    global $allowedposttags;
    $init_array['valid_elements']          = '*[*]';
    $init_array['extended_valid_elements'] = '*[*]';
    $init_array['valid_children']          = '+a[' . implode( '|', array_keys( $allowedposttags ) ) . ']';
    $init_array['indent']                  = true;
    $init_array['wpautop']                 = false;
    $init_array['apply_source_formatting'] = false;
    return $init_array;
}
add_filter( 'tiny_mce_before_init', 'override_mce_options' );

と入れてやります。
参考になったサイトさん→http://qiita.com/jyokyoku/items/c560b0d1eacc1df61620

nakaike