【当ブログではアフィリエイト広告を利用しています】

[WordPress] 投稿記事などで JavaScript を埋め込んで Pタグが自動挿入されてしまう

attention この記事は2年以上前の投稿になります。
記載された情報が古くなっている可能性がございますので十分ご注意ください。

埋め込んだ JavaScript が動かないので、出力された HTML を表示させてみるとPタグで囲われてしまっていることがあります。

プラグインやテーマ側で「Pタグの自動挿入」の機能を無効化するのも方法の1つかと思いますが、この機能も便利だと思っているユーザーがいるからこそ標準で付いているのです。
(記事等に JavaScript 書こうとすることがイレギュラーということです)

また、この自動挿入をいきなりOFFにしてしまうと、今まで記載した大部分の投稿記事で影響が出ます。
※wpautop()を無効化しなくて filter等で置換処理(Pタグの除去)をしているものは同様に他への影響が出ます。

ここでは「Pタグの自動挿入」の機能が有効な状態での回避方法を紹介しておきます。
HTMLに綺麗ではなくなってしまいますが、script タグの外側を div タグで囲ってしまいましょう。

<div>
<script type="text/javascript">
<JavaScript コード>
</script>
</div>

上記でも、いくつか注意点があります。

  • JavaScript コード内でdiv タグを使う場合は注意する
    >※div タグの直前に改行を挿入されます
  • JavaScript コード内では空行は使わない
    >※空行は「</p>\n<p>」で置換されます
  •  
     
     
     
     
    また、投稿記事内でPHPコードを動作させるプラグインを利用している場合なら
    PHPに直接 JavaScript を出力させることで回避も可能です。

    <?php
    echo <<<EOS
    <script type="text/javascript">
    <JavaScript コード>
    </script>
    EOS;
    ?>
    

    ご意見・ご感想をお待ちしております。

    いただいた情報は一般公開されません。(入力いただいたメールアドレスにてご返信させていただきます)
    また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

    内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。