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

https://github.com/arraypress/wp-register-includes

Simple file inclusion management for WordPress plugins and themes.
https://github.com/arraypress/wp-register-includes

Last synced: about 1 month ago
JSON representation

Simple file inclusion management for WordPress plugins and themes.

Awesome Lists containing this project

README

          

# WordPress Register Includes

Simple file inclusion management for WordPress plugins and themes.

## Installation
```bash
composer require arraypress/wp-register-includes
```

## Usage
```php
// Register your base path
arraypress_register_loader( 'myplugin', MY_PLUGIN_DIR );

// Load directories
arraypress_register_includes( 'myplugin', [
'includes/core',
'includes/admin'
] );

// Load specific files
arraypress_register_includes( 'myplugin', [
'includes/config.php',
'includes/functions.php'
] );

// Load recursively
arraypress_register_includes( 'myplugin', [ 'includes' ], true );

// Custom exclusions
arraypress_register_loader( 'myplugin', MY_PLUGIN_DIR, [ 'index.php', 'uninstall.php' ] );
```

## Real Example
```php
class Plugin {
private function setup_files(): void {
// Register base
arraypress_register_loader( 'sugarcart', SUGARCART_PLUGIN_DIR );

// Core components
arraypress_register_includes( 'sugarcart', [
'includes/abstracts',
'includes/classes'
] );

// Database files
arraypress_register_includes( 'sugarcart', [
'includes/database/tables',
'includes/database/schemas',
'includes/database/queries'
] );

// Admin (recursive)
if ( is_admin() ) {
arraypress_register_includes( 'sugarcart', [ 'includes/admin' ], true );
}
}
}
```

## Features

- ✅ Prefix-based registration
- ✅ Automatic duplicate prevention
- ✅ File and directory support
- ✅ Optional recursive loading
- ✅ Custom file exclusions
- ✅ Multiple plugin support

## Requirements

- PHP 7.4+
- WordPress 5.0+

## License

GPL-2.0-or-later