プラグインAdvanced custom fields(ACF)のacf_add_options_sub_page関数の使用方法・解説

概要

acf_add_options_sub_page は、WordPress ダッシュボードにグローバル オプション サブページを追加するための関数です。この関数は、サイト全体に適用される設定を簡単に管理できるように、オプションページをサブメニューとして追加する際に使用されます。特に、サイトオプションやテーマオプションなど、複数の設定を追加して管理する際に便利です。

使用例

この関数は、以下のような機能を実装する際によく使用されます。

  1. サイト全体の設定ページの作成
  2. テーマオプションの追加
  3. カスタムポストタイプ用の設定ページの作成
  4. プラグインでの全体的な設定管理
  5. フロントエンドでのカスタマイズオプションの提供
  6. ウィジェットやカスタムフィールドの設定の集中管理

構文

acf_add_options_sub_page( $args );

パラメータ

  • $args: サブページを追加するための設定配列。以下のキーが利用可能です。
    • page_title: サブページのタイトル。
    • menu_title: メニューに表示されるタイトル。
    • parent_slug: 親ページのスラッグ。
    • capability: アクセス制御のためのユーザー権限。
    • position: メニュー内での位置。
    • icon_url: メニューアイコンのURL。

戻り値

この関数は、真偽値を返します。成功した場合は true、失敗した場合は false を返します。

バージョン

この関数は、Advanced Custom Fields (ACF) プラグインのバージョン 5.0 以降で使用可能です。また、WordPress のバージョン 4.0 以降で動作します。

サンプルコード

サンプルコード 1

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page(array(
        'page_title' => 'サイト全体の設定',
        'menu_title' => 'サイト設定',
        'capability' => 'edit_posts',
        'redirect' => false
    ));

    acf_add_options_sub_page(array(
        'page_title' => 'フッター設定',
        'menu_title' => 'フッター',
        'parent_slug' => 'options-general.php'
    ));
}

このサンプルコードは、主設定ページを作成し、そのサブページとしてフッターの設定ページを追加します。

サンプルコード 2

add_action('acf/init', 'my_acf_options_page');
function my_acf_options_page() {
    acf_add_options_page(array(
        'page_title' => 'カスタムオプション',
        'menu_title' => 'カスタム設定',
        'menu_slug' => 'custom-settings',
        'capability' => 'manage_options',
        'redirect' => false
    ));

    acf_add_options_sub_page(array(
        'page_title' => 'API設定',
        'menu_title' => 'API',
        'parent_slug' => 'custom-settings'
    ));
}

このコードは、カスタム設定ページと、そのサブページとしてAPI設定を追加します。

サンプルコード 3

add_action('acf/init', 'custom_acf_options_sub_page');
function custom_acf_options_sub_page() {
    acf_add_options_page('メイン設定');

    acf_add_options_sub_page(array(
        'page_title' => 'セキュリティ設定',
        'menu_title' => 'セキュリティ',
        'parent_slug' => 'options-general.php',
    ));
}

このサンプルは、メイン設定ページを作成し、セキュリティ設定をサブページとして追加します。

サンプルコード 4

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page('全体設定');

    acf_add_options_sub_page(array(
        'page_title' => 'サポート情報',
        'menu_title' => 'サポート',
        'parent_slug' => 'acf-options',
    ));
}

このコードは、全体設定という主ページを作成し、そのサブページとしてサポート情報を追加します。

サンプルコード 5

function add_my_acf_options_page() {
    if( function_exists('acf_add_options_page') ) {
        acf_add_options_page('設定');

        acf_add_options_sub_page(array(
            'page_title' => '連絡先設定',
            'menu_title' => '連絡先',
            'parent_slug' => 'settings'
        ));
    }
}
add_action('init', 'add_my_acf_options_page');

このサンプルコードでは、「設定」という主ページを作成し、そのサブページとして連絡先設定を追加します。

この関数のアクションでの使用可能性

アクション 使用可能
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

この関数について質問する


上の計算式の答えを入力してください