Files
wp-plugin-starter-template-…/includes/class-plugin.php

99 lines
1.9 KiB
PHP

<?php
/**
* Main plugin class
*
* @package WPALLSTARS\PluginStarterTemplate
*/
namespace WPALLSTARS\PluginStarterTemplate;
use WPALLSTARS\PluginStarterTemplate\Admin\Admin;
/**
* Plugin class
*/
class Plugin {
/**
* Core instance
*
* @var Core
*/
private Core $core;
/**
* Admin instance
*
* @var Admin
*/
private Admin $admin;
/**
* Plugin file path
*
* @var string
*/
private string $pluginFile;
/**
* Plugin version
*
* @var string
*/
private string $version;
/**
* Constructor
*
* @param string $pluginFile Main plugin file path.
* @param string $version Plugin version.
*/
public function __construct( string $pluginFile, string $version ) {
$this->pluginFile = $pluginFile;
$this->version = $version;
$this->core = new Core( $version );
$this->admin = new Admin( $this->core );
}
/**
* Initialize the plugin
*/
public function init(): void {
// Register hooks and filters.
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
// Initialize any other plugin functionality.
}
/**
* Load plugin textdomain.
*
* @return void
*/
public function load_textdomain(): void {
load_plugin_textdomain(
'wp-plugin-starter-template',
false,
dirname( plugin_basename( $this->pluginFile ) ) . '/languages/'
);
}
/**
* Get the plugin version.
*
* @return string The plugin version.
*/
public function get_version(): string {
return $this->version;
}
/**
* Get the admin instance.
*
* @return Admin The admin instance.
*/
public function get_admin(): Admin {
return $this->admin;
}
}