An open API service indexing awesome lists of open source software.

https://github.com/devuri/wp-admin-page

WP Admin Page is a Quick and Easy way to build out Admin Menu Pages For WordPress
https://github.com/devuri/wp-admin-page

Last synced: 10 months ago
JSON representation

WP Admin Page is a Quick and Easy way to build out Admin Menu Pages For WordPress

Awesome Lists containing this project

README

          

## WP Admin Page, Quick and easy WP Admin Pages

Simple way to build out Admin Pages in WordPress

## Getting Started

Please check out the example/ folder

## You can install via Composer.

`$ composer require devuri/wp-admin-page`

* You can also edit composer.json manually then do a composer update

`"require": {
"devuri/wp-admin-page": "^1.0"
}`

* Simple Example with composer
```php
// You can install via Composer.
require_once 'vendor/autoload.php';

// build out the admin page
require_once plugin_dir_path( __FILE__ ). 'src/Admin/MyPluginAdmin.php';
```

* Sample Admin Class MyPluginAdmin will extend the base class
```php
use WPAdminPage\AdminPage;

final class MyPluginAdmin extends AdminPage {
/**
* admin_menu()
*
* Main top level admin menus
* @return [type] [description]
*/
private static function admin_menu(){
$menu = array();
$menu[] = 'My Plugin Menu Settings';
$menu[] = 'My Plugin';
$menu[] = 'manage_options';
$menu[] = 'my-plugin';
$menu[] = 'myplugin_callback';
$menu[] = 'dashicons-admin-generic';
$menu[] = null;
$menu[] = 'myp';
$menu[] = plugin_dir_path( __FILE__ );
return $menu;
}

/**
* submenu()
* array of submenu items
* @return [type] [description]
*/
private static function submenu(){
$submenu = array();
$submenu[] = 'Menu One';
$submenu[] = 'Menu Two';
$submenu[] = 'etc';
return $submenu;
}

/**
* init
* @return [type] [description]
*/
public static function init(){
return new MyPluginAdmin(self::admin_menu(),self::submenu());
}
}

// create admin pages
MyPluginAdmin::init();
```

### Prerequisites

Tested up to WordPress: 5.4

```
Requires PHP: 5.6+
Tested up to PHP: 7.4
```