acf_current_user_can_admin()


WordPressのacf_current_user_can_admin()関数は、現在のユーザーがACF(Advanced Custom Fields)の管理権限を持っているかどうかを確認するために使用されます。この関数は、ACFの設定やフィールドの編集が許可されているかどうかを判断する際に役立ちます。

構文

acf_current_user_can_admin();
  • bool — 現在のユーザーがACFの管理権限を持っている場合はtrue、そうでない場合はfalseを返します。

例1: 現在のユーザーがACFを管理できるか確認する

この例では、現在のユーザーがACFの管理権限を持っているかどうかを確認し、条件に応じてメッセージを表示します。

<?php if (acf_current_user_can_admin()) { echo 'ACFの管理が可能です。'; } else { echo 'ACFの管理権限がありません。'; } ?>

例2: ACFの設定画面を表示する前に権限を確認する

ACFの設定画面を表示する前に、ユーザーが管理権限を持っているかどうかを確認します。

<?php if (acf_current_user_can_admin()) { acf_options_page(); } else { echo 'アクセスが拒否されました。'; } ?>

例3: カスタムフィールドの編集を制限する

現在のユーザーがACFの管理権限を持っていない場合、カスタムフィールドの編集を制限します。

<?php if (!acf_current_user_can_admin()) { remove_menu_page('edit.php?post_type=acf-field-group'); } ?>

例4: 管理バーにACFメニューを表示するかどうかを制御する

現在のユーザーがACFの管理権限を持っている場合にのみ、管理バーにACFメニューを表示します。

<?php if (acf_current_user_can_admin()) { add_action('admin_bar_menu', 'add_acf_menu_to_admin_bar', 100); } ?>

例5: カスタムフィールドの編集を特定のユーザーロールに制限する

特定のユーザーロール(例: 管理者)のみがACFのカスタムフィールドを編集できるようにします。

<?php if (acf_current_user_can_admin() && current_user_can('administrator')) { echo 'カスタムフィールドを編集できます。'; } else { echo '編集権限がありません。'; } ?>

例6: ACFオプションページへのアクセスを制限する

ACFオプションページへのアクセスを、ACFの管理権限を持つユーザーのみに制限します。

<?php if (acf_current_user_can_admin()) { acf_add_options_page(); } else { wp_die('アクセスが拒否されました。'); } ?>

例7: カスタムフィールドの表示を制御する

現在のユーザーがACFの管理権限を持っている場合にのみ、特定のカスタムフィールドを表示します。

<?php if (acf_current_user_can_admin()) { the_field('custom_field_name'); } ?>

例8: ACFの設定を保存する前に権限を確認する

ACFの設定を保存する前に、ユーザーが管理権限を持っているかどうかを確認します。

<?php if (acf_current_user_can_admin()) { acf_save_post($_POST['post_id']); } else { echo '設定を保存する権限がありません。'; } ?>

注意点

  • この関数は、ACFプラグインが有効になっている場合にのみ使用できます。
  • ユーザーの権限を適切に管理しないと、セキュリティ上のリスクが生じる可能性があります。