概要
acf/input/admin_head
アクションは、Advanced Custom Fields (ACF) プラグインにおいて、投稿を編集するときの「admin_head」アクション中に発生します。主に、WordPress の管理画面でのカスタムフィールドに関連する操作や表示のカスタマイズを行うために使用されます。このアクションは、管理画面に特定の CSS や JavaScript を追加したり、特定の設定を変更するために使われます。
このアクションを実装する際に考慮される機能には、以下のようなものがあります:
1. カスタム CSS の追加
2. 特定のフィールドの設定変更
3. JavaScript イベントのバインディング
4. プラグインのスタイルをカスタマイズ
5. ACF フィールドの表示条件の条件文の設定
6. 特定の投稿タイプに対するカスタム処理の実装
構文
add_action('acf/input/admin_head', 'your_function_name');
パラメータ
- なし
戻り値
- なし
使用可能なプラグインのバージョン
- ACF バージョン:5.0以上
使用可能な 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_action('acf/input/admin_head', 'add_custom_admin_styles');
function add_custom_admin_styles() {
echo '<style>
.acf-field { border: 2px solid #007cba; }
</style>';
}
このコードは、ACFフィールドに青い枠線を追加するカスタム CSS を管理画面のヘッダーに追加します。
サンプル2: JavaScript の追加
add_action('acf/input/admin_head', 'enqueue_custom_js');
function enqueue_custom_js() {
echo '<script>
jQuery(document).ready(function($) {
alert("カスタム JavaScript が読み込まれました。");
});
</script>';
}
このコードは、管理画面が読み込まれる際にアラートを表示するカスタム JavaScript を追加します。
サンプル3: 投稿タイプに応じたスタイルの変更
add_action('acf/input/admin_head', 'conditional_admin_styles');
function conditional_admin_styles() {
if (get_post_type() == 'my_custom_post_type') {
echo '<style>
.acf-field { background-color: #f0f0f0; }
</style>';
}
}
このコードは、特定の投稿タイプでのみ異なる背景色を持つスタイルを追加します。
サンプル4: カスタムフィールドの表示条件
add_action('acf/input/admin_head', 'customize_field_display');
function customize_field_display() {
echo '<script>
jQuery(document).ready(function($) {
// 特定のフィールドを非表示にする
$("#acf-field_12345").hide();
});
</script>';
}
このコードは、特定のフィールドを管理画面上で非表示にするための JavaScript を追加します。
サンプル5: ACF フィールドのスタイル調整
add_action('acf/input/admin_head', 'adjust_acf_field_margin');
function adjust_acf_field_margin() {
echo '<style>
.acf-field { margin-bottom: 20px; }
</style>';
}
このコードは、すべての ACF フィールドに下部マージンを追加し、フィールド間のスペースを広げるスタイルを提供します。