概要説明
ACFにて追加したカスタムフィールド内の情報を表示させる際に一部タグが消えてしまうといった時に行ったカスタマイズ。バージョンアップの影響によるものではありますが影響範囲は広いように思いますのでscriptタグが表示されなくなった、エスケープ表示なったという場合はこちらの内容をお試しください。
~ 目次 ~
the_field() と the_sub_field() の動きが変わったようです
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.
カスタムフィールドにタグを保存しているとエスケープされたり、削除されたりするので対策が必要になります
解決方法 the_field() から get_field() に変更
// こちらの記述を使っている場合は the_field() // 下記の記述に変更することで今まで通りの内容を出力できます echo get_field()
プログラムの修正箇所が多い場合&問題となりそうな項目が特定できる場合
functions.php
/*---------------------------------------------------- プログラムを直していくのは大変という場合 カスタムフィール名を指定してエスケープを回避 ----------------------------------------------------*/ add_filter( 'acf/the_field/allow_unsafe_html', function( $allowed, $selector ) { if ( $selector === "カスタムフィールド名" ) { return true; } return $allowed; }, 10, 2); apply_filters( 'acf/the_field/allow_unsafe_html', false, $selector, $post_id, $field_type, $field_object );