タグのアーカイブ: xhtml (RSS)

WordPressのTinyMCEがdivをpに変換する問題


WordPress
Creative Commons License photo credit: Alex and Rob

いろんなところで書かれてますが、WordPressのビジュアルエディタ「TinyMCE」を使用して、コードの画面でゴリゴリとdiv要素を書いても、気が付いたら自動的にp要素に置き換えられてしまいます。

実に見事な余計なお世話だなとは思うのですが、サポートフォーラムでの回答によると、

<div> tags replaced by <p> How do I make it stick?

Since the DIV tag is considered more as layout markup the developers convert it to a paragraph to be more writer / semantic friendly.

と、divは主にレイアウトに使用するもので、コンテンツ中ではpを使うのが文章の書き手にも意味的にも優しいという考え方の元に決められた仕様だということですので、バグというには少し言い過ぎですね。

確かに「div厨」なんて言われ様があるくらい、困ったときはとりあえずdivを使う傾向ってのがあるので、コンテンツの中身ぐらいdiv無しで行こうぜって考え方には同意できますが、昔書いた記事のdivを全部pに書き換えろなんてのはカンベンして欲しいわけです。

この問題に嵌った人は決まって、wp-includes/js/tinymce/tiny_mce_config.phpの
$valid_elements = ‘p/-div[*],-strong/-b[*],-em/-i[*],-font[*],-ul[*],-ol[*],-li[*],*[*]’;


$valid_elements = ‘p[*],-div[*],-strong/-b[*],-em/-i[*],-font[*],-ul[*],-ol[*],-li[*],*[*]’;

なんて変更して回避してるんですが(もちろん僕もです)、これってアップグレードで上書きされて戻ちゃったりすると、そのときにはきっと忘れてるんで、さらなる悪夢に陥るハメに・・・

で、上の回答を書いた人がつくってる「WP Super Edit」というプラグインは、ソースコードを勝手に変更しないというポリシーでつくってるみたいなので、試してみる価値がありそうだぜ!

いまだにちゃんと使われない実体参照


html/xhtmlでは
&&amp;と書く
ただそれだけのことなのに、いまだに属性の中(hrefやsrcの中)では忘れ去られているようです

ま、それでも動くのがそもそもダメなんですけど、いいところでもあるわけで・・・
# そーいや確かJustViewでは実体参照を書くと動かなかったりした記憶も。。。