固定ページのみ自動整形機能(wpautop)を無効化する

WordPressでは投稿や固定ページの改行を自動的に<br>や<p>に整形して出力する機能(wpautop)があります。

通常のブログとして使う場合は便利な機能ですが、HTMLを別で作成してからWordPressに入れ込みたい場合、勝手に整形されるとデザインが崩れることもあり、一長一短な機能です。

「投稿では自動整形を有効にしたいけど、固定ページでは無効化したい」という場合、テーマのfunctions.phpに下記のように記載します。

上記はページが表示される際に固定ページのみ自動整形機能を取り除く(出力のときに<br>や<p>を挿入しない)方法です。エディタ(ビジュアルエディタ、テキストエディタ)の切り替えなどで行われる自動整形(<script>の調整など)には対応していません。

補足 - ビジュアルエディタの自動整形

WordPressのPタグ、BRタグの自動整形に対処する | 設定やツールねた」さん、「WordPressの自動挿入されるpタグを削除する方法」さんではエディタでの自動整形をとめるものとして下記のコードが紹介されていました。

ただ、この形でwpautopを切ってしまうと、ビジュアルエディタとテキストエディタを切り替えた際にビジュアルエディタ側で<p>が補われてしまうようです。(テキストエディタ側で元に戻せるようにかけていたwpautopが取り除かれることによってビジュアルエディタ側で働いた変換を元に戻せなくなる)

また、WordPressではビジュアルエディタとしてTinyMCEというエディタを使っていますが、WordPress 3.9以降に搭載されているTinyMCE 4ではapply_source_formattingという設定は削除されている( TinyMCE - apply_source_formatting (英語) )ようでした。

コメント

内容の誤りなどがありましたら下記からご連絡をお願いします。頂いたコメントは基本的に公開されることはありません(必要な場合は個別に返信させて頂きます)。

CAPTCHA