【WordPress】自動挿入されるpタグとbrタグを削除する方法

WordPressでは、投稿や固定ページのテキストに自動的にpタグやbrタグが挿入されることがあります。これにより、意図しない改行や段落が生じることがあり、特定のレイアウトやデザインを実現する際に不便に感じることがあります。本記事では、この自動挿入を防ぐ方法について、具体的な手順を見出し付きで紹介します。

functions.phpにコードを追加して自動タグ挿入を無効化

WordPressで自動挿入されるpタグやbrタグを無効にする最も一般的な方法は、テーマのfunctions.phpファイルに以下のコードを追加することです。

remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');

このコードは、WordPressが自動的にpタグやbrタグを挿入するために使用するwpautop関数を無効化し、テキストがそのままの状態で表示されるようにします。

ショートコード内での自動タグ挿入を防ぐ

カスタムショートコードを使用する際に、pタグやbrタグが自動的に挿入されることがあります。この問題を回避するために、ショートコードのコールバック関数内でshortcode_unautop()関数を使用しましょう。

function my_custom_shortcode($atts, $content = null) {
    $content = do_shortcode(shortcode_unautop($content));
    return $content;
}
add_shortcode('my_shortcode', 'my_custom_shortcode');

これにより、ショートコード内のテキストが自動的に整形されるのを防ぎます。

ビジュアルエディタでの自動タグ挿入を無効化

ビジュアルエディタを使用している場合、pタグやbrタグが自動的に挿入されることがあります。これを防ぐには、tiny_mce_before_initフィルターを使って、エディタの自動整形機能を無効化することができます。

add_filter('tiny_mce_before_init', 'disable_autop_in_tinymce');

function disable_autop_in_tinymce($init) {
    $init['wpautop'] = false;
    $init['apply_source_formatting'] = true;
    return $init;
}

このコードをfunctions.phpに追加すると、ビジュアルエディタでの自動タグ挿入が無効化され、意図した通りのHTMLが保たれます。

プラグインを使って簡単に管理する方法

プログラムの編集に慣れていない場合や、簡単に管理したい場合には、プラグインを使用する方法もあります。例えば、TinyMCE Advancedプラグインを使うことで、ビジュアルエディタの設定を細かくカスタマイズでき、自動的に挿入されるpタグやbrタグを制御することが可能です。

プラグインをインストールし、設定画面から必要なオプションを選択するだけで、自動挿入されるタグを簡単に無効化できます。

まとめ

WordPressで自動的に挿入されるpタグやbrタグを削除するには、functions.phpにコードを追加する方法、ショートコード内での処理、ビジュアルエディタの設定変更、またはプラグインを使用する方法があります。これらの手順を実践することで、より自由にHTMLを制御し、意図したレイアウトやデザインを実現できるようになります。