WordPressのビジュアルリッチエディタは、どうでもいいところにpタグが入ったり、たくさん改行したいのにできなかったり、編集して保存したら、全然違う見た目になってたり、本当に使いにくすぎる。

ということで、pタグの自動挿入機能を切る方法を調べました。
結構面倒だったので、同じ悩みを抱える人のため、自分のために、まとました。
プラグインや設定ファイル一発で変えられたらいいのですが、うまいやり方が見つかりませんでした。もし、何か簡単な方法をご存知の方がいらっしゃいましたら、是非コメントなどでお知らせください。

ちなみに、WordPressのバージョンは、
ME2.2.3 です。

編集しなければならないファイルは2つ。
1つずつ説明します。


■tiny_mce.js

wp-includes/js/tinymce/tiny_mce.js
にある、ファイルを編集します。
ビジュアルリッチエディタの要の部分です。

handleEvent : function(e) という関数(メソッド?)の中にある
// Insert P element instead of BR


上記記述がある部分をまずコメントアウト。
1000行目〜1500行目あたりに、3箇所ぐらいありました。

キー入力を、switch文で振り分けているところで、
if ((tinyMCE.isGecko || tinyMCE.isOpera || tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {

みたいな条件が書かれているあたりです。
上記条件ごとコメントアウトしてOK。

ちなみに、「 Insert P element instead of BR」の記述がある部分は、isGecko、isOpera、isSafariという条件にあるように、IE以外のブラウザでのみ有効なので、IEの方のプログラムも変えます。

それが、
if (tinyMCE.isIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13)

という条件がある部分で、
tinyMCE.settings['force_br_newlines']をtrueに設定する必要があるのですが、これを設定する場所を探すよりも、ここの条件を常にtrueにしてしまうほうが楽なので、ここの条件を変えてしまいます。
if (tinyMCE.isIE && e.keyCode == 13)

↑こんな感じ。

あと、
if (tinyMCE.isIE && e.type == "keydown" && e.keyCode == 13)
if (tinyMCE.isIE && e.type == "keyup" && e.keyCode == 13)

の条件の中での処理もコメントアウトします。

※e.keyCode == 13 は、エンターキーのことです。

以上で javascript で編集時に、自動的に

タグが入らないようになります。



■formatting.php

wp-includes/formatting.php
に、あるファイルを編集します。



ここでは、DBから読み取ったテキストデータをビジュアルリッチエディタ用のデータにフォーマットする関数をいじくります。放っておくと、ここでもpタグがPHPによって勝手に入れられてしまいます。
ここでは、wpautop という名前の関数を編集します。

コメントアウトするのは以下の記述

$pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates

$pee = preg_replace('/\n?(.+?)(?:\n\s*\n|\z)/s', "<p>$1</p>\n", $pee); // make paragraphs, including one at the end

$pee = preg_replace('!<p>([^<]+)\s*?(</(?:div|address|form)[^>]*>)!', "<p>$1</p>$2", $pee);


あと、
$pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks


$pee = str_replace("\n", "<br />\n", $pee);

とします。

以上です!
ここまで調べるのに数時間かかりました。(笑


とか、書いてたら、formatting.php周辺の記事が出てきたり。。(笑
http://web-pallet.com/a-blog/tb.php?ID=172
http://camcam.info/wordpress/224

あ、よく見たら、camcamさんの、brBrbrというプラグインは前から使ってました。ので、これもインストールしておいたほうがよさげですね。新しい記事(上記URL)もありましたし。要チェックです。