amirhwsin/wpsbuilder

该包最新版本(v1.0.4)没有可用的许可证信息。

为 WordPress 建设设置页面并显示在菜单或子菜单中。

v1.0.4 2020-12-12 18:26 UTC

This package is auto-updated.

Last update: 2024-09-12 23:36:25 UTC


README

Top Langs Open Source Love svg3

WpsBuilder 是一个创建类似 WordPress 设置页面或编辑页面的工具。

  • 可以添加菜单或子菜单
  • 支持大多数输入类型
  • 支持回调响应函数

支持的输入

所有输入都使用 WordPress 类。

  • 文本输入
  • 隐藏输入
  • 文本区域
  • 选择框
  • 单选组
  • 复选框
  • 媒体选择器(仍在开发中)
  • 文本(p 标签)

您还可以

  • 设置表单方法(post,get,put 等)
  • 设置页面和菜单标题
  • 设置页面描述

安装

WpsBuilder 需要 WordPress v4+ 和 php v5.6+ 来运行。

使用 composer 安装。

$ composer require amirhwsin/wpsbuilder

或手动安装,首先下载包。

require_once('wpsBuilder/wpsBuilder.php');

用法

WpsBuilder 语法简单易懂,您可以查看一些菜单或子菜单的示例。

创建菜单

$builder = new wpsBuilder();
$builder->addMenu('magical_menu')
        ->setPosition(6)
        ->setCapability('manage_options')
        ->setIconUrl('dashicons-editor-code')
        ->setPageTitle('Magic is real')
        ->setMenuTitle('See Magic')
        ->setPageDescription('This page can do some magics for you.')
        ->setFormMethod('post')
        ->input('pass', 'Password',  array(['key' => 'type', 'value' => 'password']))
        ->textArea('describe_ys', 'Describe yourself to me')
        ->hiddenInput('hidden_value','thats_right')
        ->text('yu','Username', 'amirhwisn *You cant edit this')
        ->checkbox('cbid', 'Do magic can happen?', 'Shall we play magic?', true)
        ->radio('radio', array('field_1' => 'this one', 'field_2' => 'that one'),'Which you choose?', 'that one')
        ->select('selectbox', array('key1'=> 'one', 'key2' => 'two'), 'title', 'two')
        ->media('media_id', 'Choose Profile picture')
        ->build();

创建子菜单

$builder = new wpsBuilder();
$builder->attachToMenu('magical_menu')
         ->setPageTitle('This is a little magic')
         ->setMenuTitle('Menu Title')
         ->setCapability('manage_options')
         ->setMenuSlug('magical_submenu')
         ...
         ->build();

获取响应并存储数据

您可以调用 `response` 函数并将一个函数作为参数传递,并执行操作。当您调用 `response` 时,您可以从您声明的函数中获取变量,可以称为任何收集到的表单数据。记住,在最后您应该从您的 `function` 中传递一个数组,第一个元素是响应消息,例如无效错误或成功消息,第二个应该是 `true` 或 `false` 作为成功或失败;如果传递了 null 或没有传递任何内容,则页面不会显示任何消息。

$builder->response(function($res) {
        print_r($res);
        return array('message', true);
});

待办事项

  • 开发媒体功能
  • 创建有用的文档
  • 添加更多输入

许可证

GPL2

免费软件,太棒了! 欢迎贡献力量