WordPress pタグを投稿記事から削除する1行のコード。|デザイナー、コーチ、ディレクターズメモ|井川

igawa design.

Memo

WordPressの記事投稿で自動的にpタグが入らないようにする、わずか1行のコード。

記事を書いた後に、意図せずにpタグが挿入されている!?

WordPressで記事を作成している時、想定外にレイアウトが変わってしまうことがある。

よくあるのが、ブログ投稿時の「pタグの自動挿入」だ。

これはデザイナーにとっては(もしかしたらブロガーにも)悩ましく、特にCSSでpタグにスタイルを設定していると、思わぬ表示となり、場合によってはありがた迷惑でもある。

ただし、無料で使えるこんなにありがたいツールに文句を言ってはいけない。原因さえわかれば、対処方法はとても簡単である。

原因はWordPressによる、pタグ自動挿入の「wpautop」関数。

WordPressではデフォルト仕様で、投稿画面でエンターキーを押すと、自動的にpタグが挿入される。「Shift」+「Enter」では改行のタグである<br>が挿入される。

<p>タグと<br>タグの意味。

  • pタグは文章の段落を意味する「Paragraph」を略とするHTMLのタグ。
    ブラウザやWordPressテーマのCSSにより、上下にスペースが開く。
  • brタグは文章の改行を意味する「Break」を略とするHTMLのタグ。
    自分でCSSなどでスタイルを指定しない限り、通常は上下にスペースは入らない。

これはHTMLを使った文章のごく初期のキホンのキだ。

WordPressの記事投稿で自動的にpタグが入らないようにする、わずか1行のコード。


pタグを入れたくない場合、追記するコードはこれだけ。

投稿の本文内で自動挿入したくない場合。

<?php remove_filter('the_content', 'wpautop'); ?>

上記は文字通り、投稿の本文を取得・表示するテンプレートタグである「the_content」から、WordPressが自動的にpタグを追加する「Auto p」を「Remove(削除)」するコードだ。

これをpタグを自動挿入したくないループ内(single.phpなど)に追記するだけで良い。「the_content();」の前にでも追加すればpタグは入らない。

参考:関数リファレンス/wpautop – WordPress Codex 日本語版

例) single.phpなどへ。

<?php remove_filter('the_content', 'wpautop'); ?>
<?php the_content(); ?>

投稿の抜粋内で自動挿入したくない場合。

抜粋内のpタグ削除は、「the_excerpt」で可能だ。

例) archive.phpなどへ。

<?php remove_filter('the_excerpt', 'wpautop'); ?>
<?php the_excerpt(); ?>

全ての投稿内で自動挿入したくない場合。

全ての投稿でpタグを挿入したくない場合は、functions.phpに記述すれば良い。

functions.phpに色々なコードが記述されている場合は、1行1行にPHPの開始・終了タグを書かなくても、全体をくくる開始タグの「<?php 」と閉じタグの「 ?>」の中(1行目と最終行)に記述されていればOK。

  • 最終行の閉じタグ「 ?>」は省略も可。
  • 他にも「remove_filter()」関数があれば、その記述箇所へまとめておくと良いだろう。

例) functions.phpへ。

<?php

remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');
remove_filter('the_title', 'wpautop');  
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');

WordPressの記事投稿で自動的にpタグが入らないようにする、わずか1行のコード。

といった感じにしておくとコードが見やすくなる。

以上、参考になれば幸いです。


Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いています。(元々はメモ書きでしたので順次見直し、更新しています。) 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 写真や動画はフリー素材やパブリックドメイン、購入素材、もしくは自前のものを使用しております。

デザイナー、ディレクター、講師、コーチ / 井川宜久

お問い合わせ CONTACT..


    免責事項について

    • 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。
    • 一個人のポートフォリオサイトですので、万一損害・トラブル等が発生した場合でも、一切の責任を負いかねます。

    個人情報について

    • 個人情報はお客さま対応のみでの利用とさせていただいております。
    • 社会的に正当な理由、法に基づいた理由がない限り、第三者へ開示することはありません。