WordPressWordPressの記事で<figure>タグを使うと、自動整形でマークアップがおかしくなることがあります。こんな風に書いた場合。/><figcaption>Caption</figcaption></figure>仕様書の例にも載っているfigure要素の基本的な使い方ですね。/></p><figcaption>Caption</figcaption></figure><img>の後ろに余計な</p>が付与されてしまいます。実はこれは<figure>タグに限った話ではなくて、"ブロックレベル"的要素と"インライン"的要素を並べて書くと起こりうる問題です。「〜的」と書いたのは、HTML5ではブロックレベル、インラインの区別はないからです。figure要素は特にfigcaptionとの兼ね合いから、問題が起こりやすいと思うので、これを修正するためのコードを作りました。11);これをfunctions.phpに追加します。一つ目の関数で、figureの開始タグ後と終了タグ前、figcaptionの開始タグ前と終了タグ後の空白文字を全て削除しています。これで余計な</p>タグの挿入を防ぎます。wpautopフィルタより先に実行するために、プライオリティーを9としています。/>を削除するものです。後ろ二つのpreg_replaceはソースを見やすくするために改行を入れるだけなので、削っても問題ありません。これでよほど変な書き方しない限り、おかしなマークアップにはならないと思います。wpautopを切っちゃうのが一番早いんですけどね。