二氮嗪oxide/wp-lib-option

WordPress选项

1.0.2 2020-09-04 08:46 UTC

This package is auto-updated.

Last update: 2024-09-10 20:55:35 UTC


README

创建具有灵活配置的动态管理设置页面。

方法

  • 单一
  • 多个

类型

  • 布尔值
  • 文本
  • 对象

标记

  • 文本
  • 复选框
  • 选择
  • 数字
  • 文本区域

Screenshot_1

如何安装

使用composer安装

在您的自定义插件目录中运行以下composer命令

composer require diazoxide/wp-lib-option:dev-master

或添加到您的composer.json的require字段

{
 "require": {
    "diazoxide/wp-lib-option": "dev-master"
  }
}

如何使用

例如,我们有一个多维数组$config,它有一个静态值name,两个动态值countryother->is_solder

country字段应由用户从管理端设置

use diazoxide\wp\lib\option\v2\Option;

$config = [
    'name'=>'Arthur',
    'country' => new Option(
        [
            'default'     => 'uk',
            'type'        => Option::TYPE_TEXT,
            'method'      => Option::METHOD_SINGLE,
            'values'      => [
                'fr'=>"France",
                'uk'=>"United Kingdom",
                'it'=>"Italy"
            ],
            'label'       => 'Country',
            'description' => 'Select country.'
        ]
    ),
    'other'=>[
        'is_solder'=>new Option(
             [
                 'default'     => false,
                 'type'        => Option::TYPE_BOOL,
                 'label'       => 'Solder or not'
             ]
         )
    ]
];

打印此配置表单

Option::printForm(
    'custom_index_key_for_config',
    $config,
    [
        'title' => 'Arthur Configuration'
    ]
);

如果从打印的表单更改值并点击保存,那么所有更改都将存储在带有自定义前缀custom_index_key_for_configwp_options表中。

获取此选项的最终值

$options = Option::expandOptions(
    $config,
    'custom_index_key_for_config'
);

因此,我们已扩展了具有动态和静态值的选项。您可以直接使用它。

例如

echo $options['name']; // Output: Arthur

echo $options['country']; // Output is dynamic. Default value is `fr`

var_dump($options['other']['is_solder']); // Output is dynamic. Default value is `false`