ものづくり経営革新等支援機関

WordPressでiframeタグを使った動画の埋め込みコードを貼り付けたが、なぜか空白行が挿入される

https://imamura-net.com

おはようございます!マネジメントオフィスいまむらの今村敦剛です。

WordPressで、iframeタグを使った動画の埋め込みコードをエディタに貼り付けたのですが、なぜか空白行が挿入されるのです。その原因と解決方法について解説します。

iframeタグを使った動画の埋め込みコードをエディタに貼り付けたが、なぜか空白行が挿入される

ぼくのケースでは、vimeoの動画の埋め込みコードを、"ONEPRESS"というテーマでエディタにコピペで貼り付けたのですが、こんな状態になってしまいます。

デベロッパーツールで確認したところ、該当の空白行の部分にbrが連続して3つ入っていました。もちろん、エディタで自分で改行をしたりbrタグを入れた覚えはありません。

結論を言うと、wpautop 関数が原因で不要なbrタグが挿入されたようでした。

wpautop関数が原因で不要なbrタグが挿入されることの解決方法

functions.phpファイルに以下のコードを追加して、自動整形機能を無効化してみます。

注意ポイント

functions.phpの修正は、必ずバックアップを取ってから実行するか、テスト環境で試してから本番環境で実行してください。本記事を参考にfunctions.phpファイルを修正した結果、仮に不具合が生じたとしても、当社は責任を負いかねます。

 php
/**
* 自動整形機能の無効化
*/
remove_filter('the_content', 'wpautop');
remove_filter('the_excerpt', 'wpautop');

これで無事に解決しました😊

wpautop関数とは何か?なぜこれが悪さをするのか?

wpautop関数は、WordPressのデフォルト機能の一部であり、特定のテーマとかプラグインに関係するものではないようです。に特有のものではありません。この関数は、投稿やページのコンテンツに自動的に<p>タグ段落タグ)や<br>タグ(改行タグ)を追加する役割を持っています。

wpautop関数は記事の作成をする際には便利な機能なんですが、HTMLを細かくコントロールしたい場合や特定のフォーマットを保持したい場合には、不都合を引き起こすことがあるようです。今回も、テキストだと何の問題もなかったのですが、<iframe>タグを使った動画の埋め込みで、勝手に<br>が追加されてしまいました。

wpautop 関数が <iframe> タグ(動画の埋め込みなど)の周りに <br> タグを追加する理由は、主にWordPressのコンテンツ整形処理の仕組みに関係しているようです。wpautop 関数はテキストコンテンツを処理する際、段落(<p>)や改行(<br>)を適切な場所に自動的に挿入しようとします。この処理は、主にプレーンテキストに基づいて行われるため、HTMLタグ(特にブロックレベルの要素)を含むコンテンツでは、予期しない挙動を引き起こすことがあるんだとか。iframeはブロックレベルの要素であり、WordPressの自動整形処理では、これを正しく解釈できないことがあるようですね。結果として、iframeタグの前後に不要な br タグが挿入されることがあるようです。

自動整形機能を無効化するデメリットもあるので要注意

自動整形の無効化すると、通常の記事作成時に、段落タグ<p>や改行タグ<br>が自動的に追加されなくなります。そのため、必要に応じて手動でこれらのタグを追加する必要があります。HTMLの知識が必要となるため、HTMLに関する基本的な理解をもった方でなければ、別の手立てを講じるしかありません(例えばカスタムショートコードを使うなど)

  • B!

最近の人気記事

1

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 国際標準化機構(ISO)は、現行のISO9001:2015(品質マネジメントシステム規格I)を改訂する準備を進めているようです。現在の ...

2

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 2024年2月、ISO(国際標準化機構)は、マネジメントシステム規格に「気候変動への配慮」を盛り込む形で規格の一部を改定しました。今回 ...

3

おはようございます!マネジメントオフィスいまむらの今村敦剛です。 5Sの考え方がISO9001や14001の運用に役立つことがあります。その逆もあって、ISOの仕組みが5S活動に役立つこともあるんです ...