概要
acf/compatibility フィルタは、Advanced Custom Fields (ACF) プラグインにおいて、下位互換性サポートを有効にするために使用されます。このフィルタは、特定の状況やバージョンにおいて、それに関連するデータやフィールドの動作を調整するために便利です。このフィルタは、以下のような機能を実装する際によく使われます:
- 旧バージョンのACFからの移行。
- サーバー環境によるAVFの挙動調整。
- プラグイン間の互換性問題の解決。
- テーマとの統合での動作調整。
- データベースとの互換性維持。
- 他のカスタムフィールドとの競合回避。
構文
add_filter('acf/compatibility', 'your_callback_function');
パラメータ
$compatibility: 互換性を管理するための可変値。
戻り値
- フィルタ出力の変更値(通常はbooleanまたはarray)。
使用可能なACFバージョン
- ACF バージョン 5.x 以降。
使用可能なWordPressバージョン
- WordPress バージョン 4.0 以降。
この関数のアクションでの使用可能性
| アクション | 使用可能性 |
|---|---|
| mu_plugin_loaded | 〇 |
| registered_post_type | 〇 |
| plugins_loaded | 〇 |
| wp_roles_init | 〇 |
| setup_theme | |
| after_setup_theme | 〇 |
| set_current_user | |
| init | 〇 |
| register_sidebar | |
| wp_loaded | 〇 |
| send_headers | |
| parse_query | 〇 |
| pre_get_posts | 〇 |
| wp | 〇 |
| template_redirect | |
| get_header | |
| wp_head | 〇 |
サンプルコード
サンプル 1: 互換性を有効にする
このサンプルコードは、特定のカスタムフィールドの互換性を有効にするためのものです。
add_filter('acf/compatibility', function($compatibility) {
$compatibility['my_custom_field'] = true;
return $compatibility;
});
サンプル 2: 特定のフィールドの動作を変更
このコードは、特定のカスタムフィールドの動作を調整します。
add_filter('acf/compatibility', function($compatibility) {
if (isset($compatibility['legacy_field'])) {
$compatibility['legacy_field'] = false;
}
return $compatibility;
});
サンプル 3: 新しいフィルターを追加
このサンプルは、新しいフィルターを追加して特定の状況に対応します。
add_filter('acf/compatibility', function($compatibility) {
$compatibility['new_filter'] = array('enabled' => true);
return $compatibility;
});
サンプル 4: 互換性に基づいてデータを変更
このコードは、互換性に基づいてフィールドデータを条件付きで変更します。
add_filter('acf/compatibility', function($compatibility) {
if (!empty($compatibility['important_field'])) {
$compatibility['important_field'] .= '_modified';
}
return $compatibility;
});
サンプル 5: デフォルト設定を変更
このサンプルコードは、デフォルトの互換性設定をオーバーライドします。
add_filter('acf/compatibility', function($compatibility) {
$compatibility['default_setting'] = 'new_value';
return $compatibility;
});
サンプルコードの著作権はフリーですが、特定の技術情報は関連するドキュメンテーションを参考にしてください。