Home > blog > Web 関連 > WordPress の本文内でコメントアウトすると、P要素が自動挿入される件。
WordPress の本文内でコメントアウトすると、P要素が自動挿入される件。
akiyan.com の 『 ブログを MT(3.32) から WordPress に移行しました 』 を読んで気になる点があったので、久しぶりの WordPress ネタ。
どうやら WordPress は 「 投稿記事中にコメントタグがあると、表示時にデザインが崩れる 」 ようです。 例えば以下のようなデータが本文にあると、表示時にタグがぐちゃぐちゃになり、結果、デザインが崩れます。
<!-- <img src="atode-hyouji-suru.jpg" alt="atode-kaku" /> -->どうやらコメントタグは WordPress では特殊な用途で使われているらしく、レンダリングに致命的な影響を与えるようです。 記事中にコメントタグがある場合は、事前でも事後でもいいので削除する必要があります。
わたしも WordPress にした当初に ヽ(`д´)ノ となった点でした。 一つ一つ記事を修正していかねばならなかった苦労が懐かしい ・・・・・・ コメントアウトは使えないのかと焦りました。
コメントアウト tips
<!--
コメント
-->
前述の例のようにコメントが複数行に渡る場合はもちろんのこと、
<!--リストここから-->
<ul>
<li>丸</li>
<li>三角</li>
<li>四角</li>
</ul>
<!--リストここまで-->
コメントだけの行の場合も、
<!--リストここから--><ul>
<li>丸</li>
<li>三角</li>
<li>四角</li>
</ul>
コメントが先頭の場合でも、
<p><!--コメント--></p>
このように P 要素が自動挿入され、結果、意図しない表示になってしまいます。
これでは一見コメントアウト出来ないように思えますが、
<ul><!--リストここから-->
<li>丸</li>
<li>三角</li>
<li>四角</li>
</ul><!--リストここまで-->
開始タグもしくは終了タグのすぐ後ろに挿入すれば回避出来ます。
その他の方法
- そもそも 意図しない P 要素自体を挿入させない
-
wp-includes/default-filters.php の108行目 ( ver.2.5.1 ) にある
add_filter('the_content', 'wpautop');を以下のようにコメントアウトすると、P 要素が自動挿入されなくなります。
// add_filter('the_content', 'wpautop'); - P 要素の自動挿入を無効化するプラグイン 『 Disable wpautop 』
- プラグインの 『 Disable wpautop 』 を使用して、自動挿入される P 要素を無効化する方法もあります。 詳しい解説は TechGaga の 『 WordPress の p タグ自動追加をオフにするプラグイン: Disable wpautop 』 をご覧ください。
Comments / Trackbacks