
コードが勝手に変わった!?
テキストエディターで編集していたのではじめは気がつきませんでした。
ある日ビジュアルリッチエディターを使ってみたら、なんと表示くずれが!コードを確認すると、なぜか<p>が入っていたり、<span>が消えていたり。
調べてみると、WordPressの機能でコードが自動整形されるようです。
確かにビジュアルリッチエディターで投稿するなら、この機能は親切かも?でもcssの指定が効かなくなるのは困ります。ビジュアルリッチエディターを使わなければいいんですが、納品した後お客さんが更新するならビジュアルのほうが使いやすいです。
テキスト⇔ビジュアルの行き来でコードを変えたくない!そんな時にはこちら。
固定ページのWordPressのコード自動整形を解除するには、functions.phpに下記のコードを追加します。
12345678910111213 add_filter('the_content', 'wpautop_filter', 9);function wpautop_filter($content) {global $post;$remove_filter = false;$arr_types = array('page'); //適用させる投稿タイプを指定$post_type = get_post_type( $post->ID );if (in_array($post_type, $arr_types)) $remove_filter = true;if ( $remove_filter ) {remove_filter('the_content', 'wpautop');remove_filter('the_excerpt', 'wpautop');}return $content;}
投稿ページのWordPressのコード自動整形解除は、この部分を入れ替えます。
1 2 3 |
$arr_types = array('page'); ↓ $arr_types = array('post'); |
投稿ページはお客さんがビジュアルエディターのみで更新していくなら<br>を入力しなくてもenterで改行が入るよう、自動整形は残したままでいいかもしれないです。
自分の経験ですが、固定ページまたは投稿ページ内でコードが閉じられていない時(フッターやテンプレート内に閉じタグがある場合)にも</div>などの閉じタグが自動で挿入され、表示が崩れたことがあります。こちらは上のコードをfunctions.phpに記述しても関係なかったので修正しました。
編集ページを開くときは必ずテキストモードで開きたい!
ビジュアルモードで編集を終えて閉じてしまったら、次に開くときはビジュアルモードです。もし表示が崩れてしまっていたら元のコードに戻らないので面倒ですね。そんなことが起こらないよう編集ページをテキストモードで開く設定をしたいと思います。
functions.phpに下記のコードを追加します。
1 add_filter( 'wp_default_editor', create_function('', 'return "html";') );