📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-03 07:54:07
📂
/ (Root)
/
home
/
orkouolp
/
web
/
orkofarms.com
/
wp-content
/
plugins
/
wcboost-wishlist
/
includes
📍 /home/orkouolp/web/orkofarms.com/wp-content/plugins/wcboost-wishlist/includes
🔄 Refresh
✏️
Editing: plugin.php
Writable
<?php /** * Plugin main class * * @version 1.0.0 * * @package WCBoost\Wishlist */ namespace WCBoost\Wishlist; defined( 'ABSPATH' ) || exit; /** * Class \WCBoost\Wishlist\Plugin */ final class Plugin { /** * Query instance. * * @var \WCBoost\Wishlist\Query */ public $query; /** * Packages manager * * @deprecated 1.2.0 * * @var \WCBoost\Packages\Manager */ protected $packages_manager; /** * The single instance of the class. * * @var static */ protected static $instance = null; /** * Main instance. Ensures only one instance of the plugin class is loaded or can be loaded. * * @static * @return static */ public static function instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Cloning is forbidden. */ public function __clone() { _doing_it_wrong( __FUNCTION__, esc_html__( 'Foul!', 'wcboost-wishlist' ), '1.0.0' ); } /** * Unserializing instances of this class is forbidden. */ public function __wakeup() { _doing_it_wrong( __FUNCTION__, esc_html__( 'Foul!', 'wcboost-wishlist' ), '1.0.0' ); } /** * Magic method to load in-accessible properties on demand * * @since 1.0.13 * * @param string $prop Property name. * * @return mixed */ public function __get( $prop ) { switch ( $prop ) { case 'version': return WCBOOST_WISHLIST_VERSION; case 'packages': return $this->packages_manager; } } /** * Constructor */ public function __construct() { $this->includes(); $this->init(); $this->init_hooks(); } /** * Plugin URL getter. * * @param string $path Optional. Path to append to the plugin URL. * @return string */ public function plugin_url( $path = '/' ) { return untrailingslashit( plugins_url( $path, WCBOOST_WISHLIST_FILE ) ); } /** * Plugin path getter. * * @return string */ public function plugin_path() { return untrailingslashit( plugin_dir_path( WCBOOST_WISHLIST_FILE ) ); } /** * Plugin base name * * @return string */ public function plugin_basename() { return defined( 'WCBOOST_WISHLIST_PRO' ) ? WCBOOST_WISHLIST_PRO : WCBOOST_WISHLIST_FREE; } /** * Load files * * @return void */ protected function includes() { include_once __DIR__ . '/helper.php'; include_once __DIR__ . '/templates.php'; include_once __DIR__ . '/install.php'; include_once __DIR__ . '/session.php'; include_once __DIR__ . '/query.php'; include_once __DIR__ . '/action-scheduler.php'; include_once __DIR__ . '/form-handler.php'; include_once __DIR__ . '/ajax-handler.php'; include_once __DIR__ . '/frontend.php'; include_once __DIR__ . '/shortcodes.php'; include_once __DIR__ . '/compatibility.php'; include_once __DIR__ . '/wishlist.php'; include_once __DIR__ . '/wishlist-item.php'; include_once __DIR__ . '/data-stores/wishlist.php'; include_once __DIR__ . '/data-stores/wishlist-item.php'; include_once __DIR__ . '/customizer/customizer.php'; include_once __DIR__ . '/widgets/wishlist.php'; include_once __DIR__ . '/integrations/manager.php'; if ( is_admin() ) { include_once __DIR__ . '/admin/templates-notice.php'; } } /** * Initialize the plugin * * @return void */ protected function init() { $this->query = new Query(); Install::init(); Action_Scheduler::init(); Shortcodes::init(); Form_Handler::init(); Ajax_Handler::init(); Customize\Customizer::instance(); Frontend::instance(); Session::instance(); Integrations\Manager::instance(); if ( is_admin() ) { new Admin\Templates_Notice(); } } /** * Core hooks to run the plugin */ protected function init_hooks() { add_action( 'init', [ $this, 'load_translation' ] ); add_action( 'admin_init', [ $this, 'register_template_status' ] ); add_filter( 'woocommerce_data_stores', [ $this, 'register_data_stores' ] ); add_filter( 'woocommerce_get_wishlist_page_id', [ $this, 'wishlist_page_id' ] ); add_filter( 'woocommerce_get_settings_pages', [ $this, 'setting_page' ] ); add_action( 'widgets_init', [ $this, 'register_widgets' ] ); } /** * Load textdomain. */ public function load_translation() { load_plugin_textdomain( 'wcboost-wishlist', false, dirname( plugin_basename( WCBOOST_WISHLIST_FILE ) ) . '/languages/' ); } /** * Register custom tables within $wpdb object. * * @deprecated 1.1.0 */ public function define_tables() { _deprecated_function( __METHOD__, '1.1.0', 'WCBoost\Wishlist\Install::define_tables' ); Install::define_tables(); } /** * Register custom plugin Data Stores classes * * @param array $data_stores Registered data stores. * @return array */ public function register_data_stores( $data_stores ) { $data_stores['wcboost_wishlist'] = '\WCBoost\Wishlist\DataStore\Wishlist'; $data_stores['wcboost_wishlist_item'] = '\WCBoost\Wishlist\DataStore\Wishlist_Item'; return $data_stores; } /** * Get the wishlist page id * * @return int */ public function wishlist_page_id() { $page_id = get_option( 'wcboost_wishlist_page_id' ); return absint( $page_id ); } /** * Add new setting page to WooCommerce > Settings * * @param array $pages Registered settings pages. * @return array */ public function setting_page( $pages ) { include_once 'admin/settings.php'; $pages[] = new Settings(); return $pages; } /** * Register widgets * * @return void */ public function register_widgets() { register_widget( '\WCBoost\Wishlist\Widget\Wishlist' ); } /** * Register template status check * * @since 1.2.0 * * @return void */ public function register_template_status() { \WCBoost\Packages\TemplatesStatus\Status::instance()->add_templates_path( 'WCBoost - Wishlist', $this->plugin_path() . '/templates/' ); } /** * Load packages * * @since 1.0.13 * @deprecated 1.2.0 * * @return void */ protected function load_packages() { if ( ! class_exists( 'WCBoost\Packages\Manager' ) ) { include_once $this->plugin_path() . '/packages/manager.php'; } $this->packages_manager = new \WCBoost\Packages\Manager( $this->plugin_path() . '/packages' ); if ( is_admin() ) { $this->packages_manager->load_package( 'templates-status' ); $templates_status = \WCBoost\Packages\Manager::package( 'templates-status' ); $templates_status->add_templates_path( 'WCBoost - Wishlist', $this->plugin_path() . '/templates/' ); } } }
💾 Save Changes
❌ Cancel