ArcWOC/includes/class-hesabix-v2-loader.php
morrning 8aedcf2500 Release 4.9.0: invoice profit in WP + marketplace license banner
Show Hesabix invoice profit on ArcWOC orders list and order meta box,
refresh after sync, and surface WooCommerce marketplace license upsell
(hidden when active). Also includes 4.8.2 bank/cash take≤100 fixes.
2026-08-04 12:56:06 +00:00

113 lines
2.9 KiB
PHP
Executable file

<?php
/**
* Register all actions and filters for the plugin
*
* @since 2.0.0
* @package Hesabix_V2
* @subpackage Hesabix_V2/includes
*/
class Hesabix_V2_Loader
{
/**
* The array of actions registered with WordPress.
*
* @since 2.0.0
* @access protected
* @var array $actions
*/
protected $actions;
/**
* The array of filters registered with WordPress.
*
* @since 2.0.0
* @access protected
* @var array $filters
*/
protected $filters;
/**
* Initialize the collections used to maintain the actions and filters.
*
* @since 2.0.0
*/
public function __construct()
{
$this->actions = array();
$this->filters = array();
}
/**
* Add a new action to the collection to be registered with WordPress.
*
* @since 2.0.0
* @param string $hook
* @param object $component
* @param string $callback
* @param int $priority
* @param int $accepted_args
*/
public function add_action($hook, $component, $callback, $priority = 10, $accepted_args = 1)
{
$this->actions = $this->add($this->actions, $hook, $component, $callback, $priority, $accepted_args);
}
/**
* Add a new filter to the collection to be registered with WordPress.
*
* @since 2.0.0
* @param string $hook
* @param object $component
* @param string $callback
* @param int $priority
* @param int $accepted_args
*/
public function add_filter($hook, $component, $callback, $priority = 10, $accepted_args = 1)
{
$this->filters = $this->add($this->filters, $hook, $component, $callback, $priority, $accepted_args);
}
/**
* A utility function that is used to register the actions and hooks into a single collection.
*
* @since 2.0.0
* @access private
* @param array $hooks
* @param string $hook
* @param object $component
* @param string $callback
* @param int $priority
* @param int $accepted_args
* @return array
*/
private function add($hooks, $hook, $component, $callback, $priority, $accepted_args)
{
$hooks[] = array(
'hook' => $hook,
'component' => $component,
'callback' => $callback,
'priority' => $priority,
'accepted_args' => $accepted_args
);
return $hooks;
}
/**
* Register the filters and actions with WordPress.
*
* @since 2.0.0
*/
public function run()
{
foreach ($this->filters as $hook) {
add_filter($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']);
}
foreach ($this->actions as $hook) {
add_action($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']);
}
}
}