PHPackages                             uuur86/wasp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. uuur86/wasp

ActiveLibrary

uuur86/wasp
===========

WP Admin Settings Page

2.3.2(5y ago)225GPL-3.0-or-laterPHPPHP &gt;=5.6.0

Since Mar 11Pushed 3y ago1 watchersCompare

[ Source](https://github.com/uuur86/Wasp)[ Packagist](https://packagist.org/packages/uuur86/wasp)[ RSS](/packages/uuur86-wasp/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (18)Used By (0)

wpsettings
==========

[](#wpsettings)

Settings field framework for wordpress

Usages
======

[](#usages)

```
require_once( 'vendor/autoload.php' );

use WaspCreators\Wasp;

$form = new Wasp( 'page_name( string )', 'settings_name( string )', 'localization_domain_name( string )' );
```

In a function
-------------

[](#in-a-function)

```
require_once( 'vendor/autoload.php' );

use WaspCreators\Wasp;

// multi row
$form = new Wasp(
  'prefix-admin-page-name',
  'wp_options_name',
  'plugindomain',
  'row' // gets row number from $_GET[ 'row' ]
);
// or single row
$form = new Wasp(
  'prefix-admin-page-name',
  'wp_options_name',
  'plugindomain'
);

if( $form->is_ready() ) {
  $form->wp_form_init( 'config_func' );
}

add_action( 'admin_menu', 'admin_menu' );

function config_func( $form ) {
  $conf = [
    // form sections and items array
  ];
  $form->loadForm( $conf );
  $form->register();
}

function admin_menu() {
  add_menu_page(
    'TestPlugin',
    esc_html__( 'TestPlugin', 'testplugin' ),
    'manage_options',
    'testplugin',
    'admin_page',
    'dashicons-forms'
  );
}

function admin_page() {
  global $form;

  echo "Embedded form will shown in here!";

  // Echo form output
  $form->run();
}
```

In a class
----------

[](#in-a-class)

```
require_once( 'vendor/autoload.php' );

use WaspCreators\Wasp;

class TestPlugin {
  public $test;

  function __construct() {
    $this->test = new Wasp(
      'prefix-admin-page-name',
      'wp_options_name',
      'plugindomain'
    );

    if( $this->test->is_ready() ) {
      $this->test->wp_form_init( [ $this, 'config_func' ] );
    }

    add_action( 'admin_menu', [ $this, 'admin_menu' ] );
  }

  function config_func() {
    $conf = [
      // form sections and items array
    ];
    $this->test->loadForm( $conf );
    $this->test->register();
  }

  function admin_menu() {
    add_menu_page(
      'TestPlugin',
      esc_html__( 'TestPlugin', 'testplugin' ),
      'manage_options',
      'testplugin',
      array( $this, 'admin_page' ),
      'dashicons-forms'
    );
  }

  function admin_page() {
    echo "Embedded form will shown in here!";

    // Echo form output
    $this->test->run();
  }
}

new TestPlugin();
```

Example form config array for loadForm method
---------------------------------------------

[](#example-form-config-array-for-loadform-method)

```
// For Single Section
$conf = [
  // Section info
  'name'  => 'prefix_section',
  'title' => 'Form Section Title',
  'desc'  => 'Form Section Description',
  // Form items
  'items' => [
    [
      'cond'   => ( ! $isHidden ), // Appears when true, otherwise disappeared
      'type'   => 'text_input',
      'name'   => 'my_text',
      'label'  => 'My Text',
      'after'  => 'html code which displayed after input',
      'before' => 'html code which displayed before input',
    ],
    [
      'cond'    => ( ! $isHidden ), // Applies to all item types
      'type'    => 'select',
      'name'    => 'my_options',
      'label'   => 'Select One',
      'options' => [
        [
          'label' => 'Option 1',
          'value' => 'option1',
        ],
        [
          'label'    => 'Option 2',
          'value'    => 'option2',
          'disabled' => true,
        ],
      ]
    ],
    [
      'cond'  => ( ! $isHidden ), // Applies to all item types
      'type'  => 'radio',
      'name'  => 'my_radio',
      'label' => 'Choose one',
      'options' => [
        [
          'label' => 'Switch Off',
          'value' => '0',
        ],
        [
          'label' => 'Switch On',
          'value' => '1',
        ],
      ]
    ],
    [
      'type'  => 'select',
      'name'  => 'grouped_select',
      'label' => 'Select in Groups',
      // Grouped options
      'options' => [
        'My Group 1' => [
          [
            'label'    => 'Option 1-1',
            'value'    => 'option11',
            'disabled' => true,
          ],
          [
            'label' => 'Option 1-2',
            'value' => 'option12',
          ],
        ],
        'My Group 2' => [
          [
            'label' => 'Option 2-1',
            'value' => 'option21',
          ],
          [
            'label' => 'Option 2-2',
            'value' => 'option22',
          ],
        ]
      ]
    ],
    [
      'type'  => 'hidden', // hidden text field
      'name'  => 'passthis',
      'value' => $passthis,
      'save'  => true, // save in options
    ],
    [
      'type'    => 'onecheckbox',// only one checkbox ( 0 or 1 )
      'name'    => 'onoff',
      'label'   => 'On / Off',
      'option'  => '1',
      'checked' => false // default checked
    ],
  ]
];

// For Multi Sections
$conf = [
  [
    // Section info
    'name'  => 'prefix_section1',
    'title' => 'Form Section Title',
    'desc'  => 'Form Section Description',
    // Form items
    'items' => []
  ],
  [
    // Section info
    'name'  => 'prefix_section2',
    'title' => 'Form Section Title',
    'desc'  => 'Form Section Description',
    // Form items
    'items' => []
  ]
];
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~72 days

Total

14

Last Release

2182d ago

Major Versions

1.1.x-dev → 2.0.22019-06-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/bfd52b2e2cd358844437acb89e6741fc76993e449edea4be402e6bbc591c406e?d=identicon)[uuur86](/maintainers/uuur86)

---

Top Contributors

[![uuur86](https://avatars.githubusercontent.com/u/17476001?v=4)](https://github.com/uuur86 "uuur86 (47 commits)")

---

Tags

form-generatorwordpress-admin-backendwordpress-form-builderwordpress-php-librarywordpress-plugin-development

### Embed Badge

![Health badge](/badges/uuur86-wasp/health.svg)

```
[![Health](https://phpackages.com/badges/uuur86-wasp/health.svg)](https://phpackages.com/packages/uuur86-wasp)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
