先日、ワードプレスの管理画面上に下記のようなメッセージが・・・
ACF — ACF now automatically escapes unsafe HTML when rendered by
the_field
or the ACF shortcode. We’ve detected the output of some of your fields has been modified by this change, but this may not be a breaking change. Learn more. Show details.
えっと、the_fieldってめっちゃ使っているけど・・・と絶句。
Show detailsをクリックすると、問題箇所が表示されます。
movfield – rendered via the_field
ここの表示にthe_fieldが使われてるよ、と教えてくれているらしい。意味はわかったけど、どう修正すれば良いのか不明なので、下記ページへ。
https://www.advancedcustomfields.com/blog/acf-6-2-5-security-release/
要するに、セキュリティ上の問題で表示できなくなるのは、以下のケース
ショートコードを利用してtextarea または WYSIWYG フィールドのスクリプトや iframeなどを出力している場合
[acf field="field_name"]
上記の書き方をしているケースです。
the_field()やthe_sub_field()を使って、textarea または WYSIWYG フィールドのスクリプトや iframeなどを出力している場合
the_field('field_name')
上記の書き方をしているケースです。今回はこちらのケースで、iframeで読み込んでいた動画が表示されなくなっていました。
修正の方法はカンタンで
e
echo wp_kses_post( get_field('field_name') );
で良いようです。the_fieldを使っていても、「textarea または WYSIWYG フィールドのスクリプトや iframeなど」に該当しなければ問題ないみたいです。
最近はLazyblocksのような使い勝手の良いプラグインの台頭もあって、不動のACFの立場も万全とはえいないのかもねー。時代の流れは怖い。