首页 WordPress函数大全 acf_add_options_page()
购买会员请联系客服,QQ 248758228

acf_add_options_page()

2020-06-28 / 426阅 / 秦自龙

本视频需要登录以后才能播放

登录

描述

将选项页面添加到管理菜单。

选项页面用于存储全局设置。这些设置与特定帖子无关,而是存储在wp_options表格中。

注册后,您的页面将显示在管理菜单中。然后,在编辑字段组时,可以通过“选项页面”位置规则将字段分配给页面。

参量

acf_add_options_page( [$settings] ); 

$设置

(数组) (可选)用于注册选项页面的参数数组。

  • page_title
    (字符串)选项页面上显示的标题。默认为“选项”。'page_title' => __('My Options'),
  • menu_title
    (字符串)在管理菜单中显示的标题。默认为“ page_title”值。'menu_title' => __('My Options'),
  • menu_slug
    (字符串)用于唯一标识此选项页面的URL段。默认为menu_title的URL友好版本。'menu_slug' => 'my-options',
  • 功能
    (字符串)向用户显示此菜单所需的功能。默认为'edit_posts'。阅读有关角色和功能的更多信息。'capability' => 'edit_posts',
  • position
    (int | string)菜单顺序中菜单应该出现的位置。警告:如果两个菜单项使用相同的位置,则其中一项可能会被覆盖。可以通过使用十进制而不是整数来减少冲突的风险,例如,使用“ 63.3”代替63(必须使用引号)。默认为实用程序菜单项的底部。'position' => '',
  • parent_slug
    (字符串)另一个WP管理页面的标签。如果设置,它将成为该父级的子页面。'parent_slug' => 'my-parent-page',
  • icon_url
    (字符串)此菜单的图标类。默认为默认WordPress设备。了解有关Dashicons的更多信息。'icon_url' => '',
  • redirect
    (布尔)如果设置为true,则此选项页面将重定向到第一个子页面(如果存在子页面)。如果设置为false,则此父页面将与所有子页面一起显示为自己的页面。默认为true。'redirect' => true,
  • post_id
    (int | string)$post_id从中保存和加载值。可以设置为数字帖子ID(123)或字符串('user_2')。阅读更多有关可用post_id值的信息。默认为“选项”。在v5.2.7中添加。'post_id' => 'options',
  • 自动加载
    (布尔)保存在wp_options表中的数据具有“自动加载”标识符。设置为true时,WP将在单个SQL查询中自动加载这些值,从而可以提高页面加载性能。默认为false。在v5.2.8中添加。'autoload' => false,
  • update_button
    (字符串)选项页面提交按钮上显示的文本。在v5.3.7中添加。'update_button' => __('Update', 'acf'),
  • Updated_message
    (字符串)更新选项页面后,在表单上方显示的消息。在v5.6.0中添加。'updated_message' => __("Options Updated", 'acf'),

返回

(数组)已验证的页面设置和最终页面设置。这对于找到页面的menu_slug并在以后添加子选项页面时使用很有用。

例子

默认选项页面

本示例说明如何创建默认选项页面。

functions.php

if( function_exists('acf_add_options_page') ) {
    acf_add_options_page();
} 

定制选项页面

此示例显示了如何创建自定义选项页面并将数据存储在变量中以供以后使用。

functions.php

add_action('acf/init', 'my_acf_op_init');
function my_acf_op_init() {

    // Check function exists.
    if( function_exists('acf_add_options_page') ) {

        // Register options page.
        $option_page = acf_add_options_page(array(
            'page_title'    => __('Theme General Settings'),
            'menu_title'    => __('Theme Settings'),
            'menu_slug'     => 'theme-general-settings',
            'capability'    => 'edit_posts',
            'redirect'      => false
        ));
    }
} 

创建子页面

本示例说明如何使用parent_slug属性创建选项子页面。

functions.php

add_action('acf/init', 'my_acf_op_init');
function my_acf_op_init() {

    // Check function exists.
    if( function_exists('acf_add_options_page') ) {

        // Add parent.
        $parent = acf_add_options_page(array(
            'page_title'  => __('Theme General Settings'),
            'menu_title'  => __('Theme Settings'),
            'redirect'    => false,
        ));

        // Add sub page.
        $child = acf_add_options_page(array(
            'page_title'  => __('Social Settings'),
            'menu_title'  => __('Social'),
            'parent_slug' => $parent['menu_slug'],
        ));
    }
} 

笔记

优先

必须在操​​作admin_menu(优先级99)之前使用此功能,因为这是在WordPress核心中注册管理页面时的操作。我们建议您使用“ acf / init”操作。

大家谈论
    我的见解