概要
acf_add_options_sub_page
は、WordPress ダッシュボードにグローバル オプション サブページを追加するための関数です。この関数は、サイト全体に適用される設定を簡単に管理できるように、オプションページをサブメニューとして追加する際に使用されます。特に、サイトオプションやテーマオプションなど、複数の設定を追加して管理する際に便利です。
使用例
この関数は、以下のような機能を実装する際によく使用されます。
- サイト全体の設定ページの作成
- テーマオプションの追加
- カスタムポストタイプ用の設定ページの作成
- プラグインでの全体的な設定管理
- フロントエンドでのカスタマイズオプションの提供
- ウィジェットやカスタムフィールドの設定の集中管理
構文
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 |