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. WordPressページで404 not foundの場合にトップページにリダイレクトを行う

  2. WordPress 特定のページでプラグインの有効・無効の制御ができるプラグイン Plugin Load Filter

  3. WordPress Google My Businessの最新情報を簡単に連携させるプラグイン Auto Publish for Google My Business

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

ホントに大事なモンってのは
もってる奴よりもってねー奴の方が
しってるもんさ

銀魂
by 坂田銀時

Profile

PAGE TOP
Amazon プライム対象