[WordPress]the_content()で表示させたら</p>が勝手に入るので困った

今更な感じですが、WordPressで制作したサイトのソースをのぞいてみたら見知らぬ</p>が入っていたので、気になって調べてみました。

固定ページのクラシックエディタで下記のような感じでショートコードを記述していたのですが・・・

<section id="main">
  [shortcode]
  <div>
    ・・・・
  </div>
</section>

ソースを見ると・・・

<section id="main">※ショートコードの表示</p>
  <div>
    ・・・・
  </div>
</section>

ん、なぜにpを閉じやがる?
表示自体は問題なさそうなのですが、ちょっとすっきりしません。
WordPressには、自動でpタグを入れたりする癖(?)があるのでどうやらそれっぽい。

「WordPress Pタグ」あたりで検索すると自動成型wpautop()の記事がたくさん見つかります。function.phpなどにremove_filter('the_content', 'wpautop');を記述する方法で自動成型を停止させることができるようです。

参考:
https://takayakondo.com/wordpress-auto-p-delete/

まぁ、これでもよかったと思うのですが、これまで作ったページなんかにも影響が出そうだし、裏技ないかなぁって探していたら簡単なのありましたw

<section id="main">
  <p>[shortcode]</p>
  <div>
    ・・・・
  </div>
</section>

ショートコードをpタグで包み込むw

<section id="main">
※ショートコードの表示
  <div>
    ・・・・
  </div>
</section>

するとなぜかpタグさんいなくなるwww
・・・これはこれで変な感じはするんですが消えました。
この方法は検索してもなかなか見つからなかったです。

参考:
https://sysbird.jp/wptips/2010/05/12/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%8B%9D%E6%89%8B%E3%81%AB%E5%85%A5%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8Bp%E3%82%BF%E3%82%B0/

とりあえず</p>が消えたので、良しとしますかね。

この記事が気に入ったらサポートをしてみませんか?