ACFのバージョンアップ (6.2.7) によりhtmlがエスケープされるように変更。scriptタグなども非表示になってしまったので以前の内容を表示できるように対応

概要説明

ACFにて追加したカスタムフィールド内の情報を表示させる際に一部タグが消えてしまうといった時に行ったカスタマイズ。バージョンアップの影響によるものではありますが影響範囲は広いように思いますのでscriptタグが表示されなくなった、エスケープ表示なったという場合はこちらの内容をお試しください。

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 );

ACF公式リリースページ

関連機能

  1. Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush inの対応

  2. WordPressとプラグインのダウングレードが簡単に行えるプラグイン紹介 ( バージョンを元に戻したい場合に活用 )

  3. WordPress 記事のpost_typeを簡単に変更できるプラグイン Post Type Switcher ( 投稿 から 固定ページに変更など )

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

一度なくした信用取り戻すのは
最初に信用作るより大変なんだ

闇金ウシジマくん
by 丑嶋馨

Profile

PAGE TOP
Amazon プライム対象