Feat: Implement Admin class structure and instantiate in Plugin
This commit is contained in:
50
includes/Admin/Admin.php
Normal file
50
includes/Admin/Admin.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Admin area functionality for the plugin.
|
||||||
|
*
|
||||||
|
* @package WPALLSTARS\PluginStarterTemplate\Admin
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace WPALLSTARS\PluginStarterTemplate\Admin;
|
||||||
|
|
||||||
|
use WPALLSTARS\PluginStarterTemplate\Core;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Admin class responsible for admin-specific hooks and functionality.
|
||||||
|
*/
|
||||||
|
class Admin {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Core plugin class instance.
|
||||||
|
*
|
||||||
|
* @var Core
|
||||||
|
*/
|
||||||
|
private $core;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param Core $core Core instance.
|
||||||
|
*/
|
||||||
|
public function __construct( Core $core ) {
|
||||||
|
$this->core = $core;
|
||||||
|
$this->initialize_hooks();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes WordPress hooks.
|
||||||
|
*/
|
||||||
|
private function initialize_hooks() {
|
||||||
|
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_assets' ] );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enqueues admin-specific assets.
|
||||||
|
*
|
||||||
|
* @param string $hook_suffix The current admin page.
|
||||||
|
*/
|
||||||
|
public function enqueue_admin_assets( $hook_suffix ) {
|
||||||
|
// Admin assets enqueue logic will go here.
|
||||||
|
// The test mocks wp_enqueue_style, wp_enqueue_script, etc.
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
namespace WPALLSTARS\PluginStarterTemplate;
|
namespace WPALLSTARS\PluginStarterTemplate;
|
||||||
|
|
||||||
|
use WPALLSTARS\PluginStarterTemplate\Admin\Admin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin class
|
* Plugin class
|
||||||
*/
|
*/
|
||||||
@@ -19,6 +21,13 @@ class Plugin {
|
|||||||
*/
|
*/
|
||||||
private $core;
|
private $core;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Admin instance
|
||||||
|
*
|
||||||
|
* @var Admin
|
||||||
|
*/
|
||||||
|
private $admin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin file
|
* Plugin file
|
||||||
*
|
*
|
||||||
@@ -43,6 +52,7 @@ class Plugin {
|
|||||||
$this->plugin_file = $plugin_file;
|
$this->plugin_file = $plugin_file;
|
||||||
$this->version = $version;
|
$this->version = $version;
|
||||||
$this->core = new Core();
|
$this->core = new Core();
|
||||||
|
$this->admin = new Admin( $this->core );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user